HTTP 到 HTTPS 重写导致“重定向次数过多”错误

HTTP 到 HTTPS 重写导致“重定向次数过多”错误

我正在尝试在 IIS 8.5 上针对特定网站从 http 重定向到 https。我按照说明操作这里(和这里),复制答案中的确切 web.config 文件。启用顶部规则后,我在所有浏览器中都收到“重定向过多”错误。禁用该规则可停止该错误。

站点“bindings...”配置了端口 80 和 443,并为 443 绑定分配了有效证书。已安装“URL Rewrite”模块。

这个 Win 2012 VM 位于 F5 负载均衡器后面,除了打开数据中心的票证外,我无法访问它。

目标是将此特定站点的所有 http 请求重定向到 https。此站点只是一个带有静态 index.html 文档的测试站点。

确切的 web.config 是这样的:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <rule name="HTTP to HTTPS redirect" stopProcessing="true">
                    <match url="(.*)" />
                    <conditions>
                        <add input="{HTTPS}" pattern="off" ignoreCase="true" />
                    </conditions>
                    <action type="Redirect" url="https://{HTTP_HOST}/{R:1}"
                        redirectType="Permanent" />
                </rule>
            </rules>
            <outboundRules>
                <rule name="Add Strict-Transport-Security when HTTPS" enabled="true">
                    <match serverVariable="RESPONSE_Strict_Transport_Security"
                        pattern=".*" />
                    <conditions>
                        <add input="{HTTPS}" pattern="on" ignoreCase="true" />
                    </conditions>
                    <action type="Rewrite" value="max-age=31536000" />
                </rule>
            </outboundRules>
        </rewrite>
    </system.webServer>
</configuration>

答案1

我的 IIS 服务器位于 F5 负载平衡器后面,这是导致此问题的原因。我让数据中心管理其端从 http 到 https 的所有重定向。

相关内容