需要下载安装一个官方模块:
IIS CORS Module : The Official Microsoft IIS Site
Web.config配置的文档地址:
CORS Module Configuration Reference | Microsoft Learn
示例代码:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<cors enabled="true" failUnlistedOrigins="true">
<add origin="*" />
<add origin="https://*.microsoft.com"
allowCredentials="true"
maxAge="120">
<allowHeaders allowAllRequestedHeaders="true">
<add header="header1" />
<add header="header2" />
</allowHeaders>
<allowMethods>
<add method="DELETE" />
</allowMethods>
<exposeHeaders>
<add header="header1" />
<add header="header2" />
</exposeHeaders>
</add>
<add origin="http://*" allowed="false" />
</cors>
</system.webServer>
</configuration>
这样可以简单的通过修改配置文件增加域名,非常方便灵活。对跨域cookie的支持只需allowCredentials="true"。
对于cookie跨域SameSite=Lax的问题,可以尝试以下配置文件
<system.web>
<compilation targetFramework="4.8"/>
<httpRuntime targetFramework="4.8"/>
<authentication mode="Forms">
<forms cookieSameSite="None"/>
</authentication>
<sessionState cookieSameSite="None"/>
<httpCookies sameSite="None"/>
</system.web>