我有Angular,Entity Framework和MS SQL Server。我需要在MS IIS上设置后端,因为我需要进行域身份验证。不幸的是,我仍然与CORS的问题。
当我在我的web.config文件:
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="http://localhost" />
<add name="Access-Control-Allow-Methods" value="GET,PUT,POST,DELETE,OPTIONS" />
<add name="Access-Control-Allow-Headers" value="Content-Type" />
</customHeaders>
</httpProtocol>
我进入浏览器:“已被CORS策略阻止:“控制-允许-原点”“标头的值”“http://localhost”"不等于提供的原点”
当我将其更改为:
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*" />
<add name="Access-Control-Allow-Methods" value="GET,PUT,POST,DELETE,OPTIONS" />
<add name="Access-Control-Allow-Headers" value="Content-Type" />
</customHeaders>
</httpProtocol>
我得到:“已被CORS政策阻止:当请求的凭据模式为“include”时,响应中“Access-Control-Allow-Origin”标头的值不能为通配符“*”。XMLHttpRequest发起的请求的凭据模式由withCredentials属性控制。”
知道我该换什么吗
接下来的变化:
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="" />
<add name="Access-Control-Allow-Credentials" value="true" />
<add name="Access-Control-Allow-Methods" value="GET,PUT,POST,DELETE,OPTIONS" />
<add name="Access-Control-Allow-Headers" value="Content-Type" />
</customHeaders>
</httpProtocol>
浏览器错误:“已被CORS策略阻止:“”“控制-允许-起源”“标头包含无效值”“true””。
在《小提琴手》中,我可以看到:安全控制-允许-来源:真
看起来这些值没有被添加到给定的头中。
下一个变化:我安装了IIS的CORS模块,文件看起来像:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<cors enabled="true" failUnlistedOrigins="true">
<add origin="http://localhost:4200"
allowCredentials="true"
maxAge="120">
<allowHeaders allowAllRequestedHeaders="true">
<add header="header1" />
</allowHeaders>
<allowMethods>
<add method="GET, POST" />
</allowMethods>
</add>
</cors>
</system.webServer>
</configuration>
现在浏览器中的答案是:HTTP错误404.0 -您正在查找的资源(或者它的一个依赖项)可能已被移除,或其名称已更改,或暂时不可用。“现在好点了吗?下一步可能是什么?
1条答案
按热度按时间cidc1ykv1#
如果您的
localhost
服务器在特定端口上运行,则必须将其包含在Access-Control-Allow-Origin
中,例如http://localhost:8080
。在浏览器Developer Tools > Network中,检查Request header并验证
Referer
。这是应该为Access-Control-Allow-Origin
设置的URL。开发者工具>网络
配置
此外,您可能需要设置
Access-Control-Allow-Credentials
。