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

Posted

技术标签:

【中文标题】如何在 Windows 10 的 IIS 管理器上启用 CORS?【英文标题】:How to enable CORS on IIS Manager of Windows 10? 【发布时间】:2017-06-28 12:35:44 【问题描述】:

我使用 IIS 管理器 (Windows 10) 创建了一个 HTTPS 服务器。现在,我希望此服务器支持 CORS 请求。

我已经阅读了一些信息。例如, this 链接说我必须在目录中创建一个文件 web.config 。不幸的是,它没有成功。 This 链接说我应该编辑一些配置文件,但我在我的机器上找不到它们。

【问题讨论】:

您使用的是 iis express 还是 iis manager ?当你不工作时,什么不工作? enable-cors.org/server_iis7.html 应该可以工作。你不会在正确的地方添加配置 我使用 IIS 管理器。我把这个 XML 放到 web.config 文件中,然后放到我的项目目录下,也没有用。 我也有同样的问题。我正在使用带有 IIS 管理器的 IIS 10。当我查看 [IIS CORS 模块配置参考][1] 时,我没有看到任何关于如何安装 CORS 模块的信息。 [1]:docs.microsoft.com/en-us/iis/extensions/cors-module/… 【参考方案1】:

我最近遇到了类似的问题。大多数教程/文档仅建议在配置中添加自定义标头。但这并没有告诉 IIS 自己处理 CORS Pre-flight 请求。

为此,您必须在 IIS 中安装 CORS Module 并在 web.config 文件中添加一些配置,如下所述:IIS CORS module Configuration Reference

我最近使用它来反向代理到 REST API 并仅在 IIS 中处理 CORS,这样我就不必重建我的项目来更改 CORS 设置。

【讨论】:

我还更新了以下资源,提供了更好的解释:enable-cors.org/server_iis7.html 您提供的链接将 元素添加到 web.config 并且至少在 IIS 8.5 上不起作用。你知道它可以与哪个版本的 IIS 一起工作吗?谢谢! 找到了。需要安装这个 - iis.net/downloads/microsoft/iis-cors-module - 在使用 web.config 中的 元素之前。 我只需要添加 还是整个部分? 我拒绝使用 IIS 10 进行签名验证。我不得不从我在日志文件中找到的此链接下载:download.microsoft.com/download/2/F/2/2F259559- FC43-4B2C-B53F-DED3E9950912/IISCORS_amd64.msi【参考方案2】:

尝试将其添加到:

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

【讨论】:

以上是关于如何在 Windows 10 的 IIS 管理器上启用 CORS?的主要内容,如果未能解决你的问题,请参考以下文章

Windows10使用IIS部署Django项目

如何在Windows7环境下安装 PHP

如何在Windows2008中为IIS添加ISAPI扩展功能

windows2008iis怎么配置播放mp4

Windows10 IIS Web服务器安装配置

iis如何配置