环境:netcore 5.0   iis 8.5

在使用iis部署netcore程序时碰到一个小问题,跨域,首先检查配置

关于net core 站点通过iis部署,跨域配置遇到的问题

 

 配置正常,且中间件已启用

关于net core 站点通过iis部署,跨域配置遇到的问题

 

很奇怪,ajax调用依然跨域.意识到问题没有那么简单了,因为netcore web设置的进程内托管选择进程内托管,意味着将 .NetCore 应用程序的工作进程托管到 IIS 的工作进程 w3wp.exe 中,使用的 IIS 进程内服务器,即使用的是:IISHttpServer.意味着可能iis将请求拦截掉了.检查发现果然,如下图:

关于net core 站点通过iis部署,跨域配置遇到的问题

 

 默认的会添加跨域配置,但是不知道为什么没有生效,所以修改web.config文件,去掉默认配置,如下:

<system.webServer>
  <httpProtocol>
            <customHeaders>
                <remove name="Access-Control-Allow-Origin" />
                <remove name="Access-Control-Allow-Methods" />
                <remove name="Access-Control-Allow-Headers" />
            </customHeaders>
        </httpProtocol>
</system.webServer>

ok,可以正常访问了.

 

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-10-19
  • 2022-12-23
猜你喜欢
  • 2021-07-06
  • 2021-07-23
  • 2021-12-01
  • 2022-12-23
  • 2022-02-19
  • 2022-12-23
  • 2021-09-14
相关资源
相似解决方案