如何为 CORS 设置 IIS 重写规则?
Posted
技术标签:
【中文标题】如何为 CORS 设置 IIS 重写规则?【英文标题】:How to set IIS rewrite rule for CORS? 【发布时间】:2021-06-26 13:48:30 【问题描述】:我为服务器 url 创建了一个 IIS 重写角色。
当我向[https://mysite/back/api/....][1]
发送请求时,它会从https://remotesite/back/api/....
获取数据
所以我的 IIS 重写配置如下。
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="api">
<match url="^api/(.*)" />
<action type="Rewrite" url="`https://remotesite/back/api/R:1`" />
</rule>
</rules>
<outboundRules>
<clear />
<rule name="api">
<match serverVariable="RESPONSE_Access_Control_Allow_Origin" pattern=".*" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="true">
<add input="HTTP_ORIGIN" pattern="(.*)" />
</conditions>
<action type="Rewrite" value="C:0" />
</rule>
</outboundRules>
</rewrite>
</system.webServer>
</configuration>
但[https://mydomain/back/api/][1]
有一个“推荐人政策:严格原产地时跨原产地”。所以我无法向我的域发送 javascript 请求。
如何更新配置?
【问题讨论】:
【参考方案1】:您可以使用IIS CORS module 来解决这个问题。关于“IIS CORS模块配置参考”的信息,可以参考这个link。
【讨论】:
以上是关于如何为 CORS 设置 IIS 重写规则?的主要内容,如果未能解决你的问题,请参考以下文章