无论如何允许在 web.config 文件中使用 Access-Control-Allow-Origin 的多个跨域?
目前我正在使用*
一次允许多个域。
<add name="Access-Control-Allow-Origin" value="*" />
但我不想使用
*
因为它对所有域开放,我只想允许某些特定域。那么,无论如何允许使用 web.config 文件中的 Access-Control-Allow-Origin 的多个跨域?
我找到了一些相关的帖子:
我已经尝试获取请求 header 来验证请求来源 (如帖子 1 中所建议)但没有成功。因为我使用的是 iframe 元素,所以当我尝试获取请求 header 时,它会提供 iframe 的来源(域)。但在这里我想要原始(父窗口)原点(域)。
最佳答案
对于 IIS 7.5+,您可以使用 IIS CORS 模块:https://www.iis.net/downloads/microsoft/iis-cors-module
您的 web.config 应该是这样的,替换您的域的 [origin_#]:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<cors enabled="true" failUnlistedOrigins="true">
<add origin="[origin_1]">
<allowMethods>
<add method="GET" />
<add method="HEAD" />
<add method="POST" />
<add method="PUT" />
<add method="DELETE" />
</allowMethods>
</add>
<add origin="[origin_2]">
<allowMethods>
<add method="GET" />
<add method="HEAD" />
<add method="POST" />
<add method="PUT" />
<add method="DELETE" />
</allowMethods>
</add>
</cors>
</system.webServer>
</configuration>
您可以在此处找到配置引用:https://docs.microsoft.com/en-us/iis/extensions/cors-module/cors-module-configuration-reference
关于asp.net - 如何通过 web.config 文件中的 Access-Control-Allow-Origin 允许多个源域?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24795268/