问题描述
我们有一个 DNN 网站,我们称之为“站点 A”,我们正在从另一台服务器获取网络聊天 JS 文件,比如 “站点 B”。我们购买了一个在 IIS 10 绑定中在站点 A 和站点 B 上都匹配的证书。
我们尝试将以下代码添加到站点 A,但没有成功,因为我们收到 CORS 错误。
<system.webServer>
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*" />
<add name="Access-Control-Allow-Headers" value="Content-Type" />
<add name="Access-Control-Allow-Methods" value="GET,POST,PUT,DELETE,OPTIONS" />
<add name="Access-Control-Allow-Credentials" value="true" />
</customHeaders>
</httpProtocol>
</system.webServer>
我想知道,我们应该在哪个站点上添加访问控制允许源代码,是否可以只针对特定的 DNN 门户来允许这样做?有没有一种方法可以在特定门户中注入自定义标头?
解决方法
你应该是IIS没有安装cors模块,导致这个问题,install the IIS Cors module
IIS CORS 通过站点或应用程序 web.config 文件进行配置,并且在 system.webServer 中有自己的 cors 配置部分。 官方文档中有使用说明,可以看一下:IIS CORS module Configuration Reference