首页 > web前端 > js教程 > 正文

如何在 IIS7 上启用跨源资源共享 (CORS):分步指南

Susan Sarandon
发布: 2024-10-27 02:07:30
原创
508 人浏览过

How to Enable Cross-Origin Resource Sharing (CORS) on IIS7: A Step-by-Step Guide

在 IIS7 上启用跨域资源共享:综合指南

简介

跨域-源资源共享 (CORS) 允许来自一个域的资源被来自不同源的应用程序获取和使用。要在 IIS7 上启用 CORS,请按照以下步骤操作:

配置

  1. 添加自定义标头:

    • 导航到托管域的 web.config 文件。
    • 中添加以下自定义标头:部分:
    <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>
    登录后复制

故障排除

尽管进行了配置,如果您仍然收到 405 响应,可能是由于IIS7 对 HTTP 选项的处理。

选项 1:修改 IIS7 处理程序映射

  1. 打开 IIS 管理器。
  2. 导航到处理程序映射。
  3. 找到“OPTIONSVerbHandler”。
  4. 将“ProtocolSupportModule”更改为“IsapiHandler”。
  5. 将可执行文件设置为:

    %windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll
    登录后复制

选项 2:处理代码中的 OPTIONS 动词

  1. 重写应用程序代码中的 BeginRequest 方法:

    protected void Application_BeginRequest(object sender,EventArgs e)
    {
        HttpContext.Current.Response.AddHeader("Access-Control-Allow-Origin", "*");
    
        if(HttpContext.Current.Request.HttpMethod == "OPTIONS")
        {
            // Handle pre-flight OPTIONS call from browser
            HttpContext.Current.Response.AddHeader("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE");
            HttpContext.Current.Response.AddHeader("Access-Control-Allow-Headers", "Content-Type, Accept");
            HttpContext.Current.Response.AddHeader("Access-Control-Max-Age", "1728000" );
            HttpContext.Current.Response.End();
        }
    }
    登录后复制

结论

在 IIS7 上启用 CORS 需要配置更新和潜在的故障排除。通过遵循上述步骤,您可以充满信心地实现跨域交互。

以上是如何在 IIS7 上启用跨源资源共享 (CORS):分步指南的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!