Web API 2 CORS 不允许 IP 地址作为来源
Web API 2 CORS Won't Allow IP Addresses as Origins
我有一个启用了 CORS 身份验证的 Web API 2 应用程序。我在本地 运行 宁两个站点,一个 SPA 站点和 Web API,都在端口 80 上,使用不同的主机头。一切正常。但是,我正在尝试在没有域的机器上进行测试,因此我必须为两个站点使用具有不同端口的 IP 地址。无论我做什么,网络 API 都会提供旧的 "No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://xxx.xxx.xxx.xxx:8090' is therefore not allowed access"。我的 CORS 配置如下:
var cors = new EnableCorsAttribute(
origins: "*",
headers: "*",
methods: "*");
config.EnableCors(cors);
当 API 位于真实域而不是 IP 地址时,是否只能 运行 web API 2 CORS?这似乎是一个极端的限制。
不确定它是否重要,但我在本地 运行ning IIS 7.5,但我的测试机器是 IIS 7。
如有任何帮助,我们将不胜感激。
如果您尝试我的评论但没有成功,请将以下内容添加到 Web.config
文件(在 <system.webServer>
标记内):
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*" />
</customHeaders>
</httpProtocol>
希望对您有所帮助!
事实证明它是 IIS 特定的。一旦我将 API 放在机器 运行 IIS 7.5 上,它就可以完美运行。干杯。
我有一个启用了 CORS 身份验证的 Web API 2 应用程序。我在本地 运行 宁两个站点,一个 SPA 站点和 Web API,都在端口 80 上,使用不同的主机头。一切正常。但是,我正在尝试在没有域的机器上进行测试,因此我必须为两个站点使用具有不同端口的 IP 地址。无论我做什么,网络 API 都会提供旧的 "No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://xxx.xxx.xxx.xxx:8090' is therefore not allowed access"。我的 CORS 配置如下:
var cors = new EnableCorsAttribute(
origins: "*",
headers: "*",
methods: "*");
config.EnableCors(cors);
当 API 位于真实域而不是 IP 地址时,是否只能 运行 web API 2 CORS?这似乎是一个极端的限制。
不确定它是否重要,但我在本地 运行ning IIS 7.5,但我的测试机器是 IIS 7。
如有任何帮助,我们将不胜感激。
如果您尝试我的评论但没有成功,请将以下内容添加到 Web.config
文件(在 <system.webServer>
标记内):
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*" />
</customHeaders>
</httpProtocol>
希望对您有所帮助!
事实证明它是 IIS 特定的。一旦我将 API 放在机器 运行 IIS 7.5 上,它就可以完美运行。干杯。