天天看點

IIS 部署 .net core 疑是跨域問題

.net core 項目配置使用cors 配置跨域 是個很簡單的操作,官網有教程

https://docs.microsoft.com/zh-cn/aspnet/core/security/cors?view=aspnetcore-3.1

當項目釋出到IIS後,如果使用的是Restful 風格的API,其它項目通路的時候控制台會出現跨域的報錯資訊。而且有的接口存在跨域,有的接口不跨域,仔細檢查後發現 GET 和POST 可以正常調用,而PUT DELETE 會提示跨域。

這時候會想,開發環境已經解決過跨域問題,這個問題是如何産生的呢?

經過多次嘗試發現 IIS 有個預設子產品會導緻項目不支援 Put  DELETE

IIS 部署 .net core 疑是跨域問題

如果項目不需要該子產品的内容,删除即可

或者在項目的釋出檔案中找到web.config檔案,配置标紅的資訊,即可解決。

<system.webServer>

<modules runAllManagedModulesForAllRequests="true">

      <remove name="WebDAVModule" />

</modules>

</system.webServer>

繼續閱讀