我在 IIS 服务器上托管一个网站(作为 ARR 代理),并且我想将所有 HTTP 流量重定向到 HTTPS。但是,当我在 web.config 文件中启用重定向规则时,浏览器会返回
ERR_TOO_MANY_REDIRECTS
。
我已尝试解决此问题,但似乎无法解决。详情如下:
这是我在 web.config 文件中用于重定向的规则:
<rule name="http to https" enabled="true" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTP_HOST}" pattern="^(www.)?example\.com$" />
<add input="{HTTPS}" pattern="^OFF$" />
</conditions>
<action type="Redirect" url="https://example.com/{R:1}" redirectType="Found" />
</rule>
我尝试过的:
什么可能导致 IIS 中的 HTTPS 重定向出现 ERR_TOO_MANY_REDIRECTS 错误?如何修复配置以确保正确重定向而不导致重定向循环?
任何帮助或建议将不胜感激!
此规则还匹配已经是 HTTPS 的流量。因此,当有人尝试访问您的网站时,该规则也会触发,因为
(.*)
表达式匹配所有内容。
这又会导致重定向,这是对服务器的新请求。新请求意味着它会再次处理规则,这将再次“始终”匹配。所以它重定向...这是一个新的请求,它再次处理规则,这是另一个重定向。