如何在Windows 10的IIS管理器上启用CORS?

18

我使用IIS Manager(Windows 10)创建了一个HTTPS服务器。现在,我想让这个服务器支持CORS请求。

我已阅读一些信息。例如,这篇文章说我需要在目录中创建一个名为web.config的文件。可惜这并没有成功。 这篇文章说我应该编辑一些配置文件,但在我的电脑上找不到它们。


你是在使用IIS Express还是IIS管理器?当你遇到问题时,具体是哪些方面出现了问题?https://enable-cors.org/server_iis7.html应该可以工作。你可能没有将配置添加到正确的位置。 - Rohith
我使用IIS管理器。我将这个XML放在web.config文件中,并将其放在我的项目目录中,但没有帮助。 - CrazySynthax
我有同样的问题。我正在使用带有IIS管理器的IIS 10。当我查看IIS CORS模块配置参考时,我根本没有看到有关如何安装CORS模块的任何信息。 - Jim S
2个回答

33
我最近遇到了类似的问题。大多数教程或文档只建议在配置中添加自定义标头,但这并不告诉IIS自己处理CORS预检请求。
为此,您必须在IIS中安装CORS模块并在web.config文件中添加一些配置,如此处所述:IIS CORS模块配置参考 我最近使用了这个方法来反向代理到REST API,并仅在IIS中处理CORS,以便我不必重新构建项目以更改CORS设置。

您提供的链接在web.config中添加了<cors>元素,但至少在IIS 8.5上无法工作。您知道它适用于哪个版本的IIS,如果有的话?谢谢! - Shiva Naru
1
找到了。在使用web.config中的<cors>元素之前,需要安装此软件 - https://www.iis.net/downloads/microsoft/iis-cors-module。 - Shiva Naru
1
我只需要添加 <cors enabled="true" failUnlistedOrigins="true"> 还是整个部分都需要添加? - Mark
1
我在使用IIS 10进行签名验证时遭到了拒绝。不过,我在日志文件中找到了这个链接:download.microsoft.com/download/2/F/2/2F259559-FC43-4B2C-B53F-DED3E9950912/IISCORS_amd64.msi,从中下载后问题得以解决。 - VoteCoffee
这个方法可行。我只需在 Web.config 文件中添加 <cors enabled="true" failUnlistedOrigins="true"> <add origin="*" /> </cors> 即可。 - lenz
显示剩余2条评论

-1
尝试将此添加到:

    <system.webServer>
        <modules>
            <remove name="WebDAVModule" />
        </modules>
    </system.webServer>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接