强制使用HTTPS重定向页面到http:// http / url

时间:2017-10-03 14:26:28

标签: ssl redirect iis web-config orchardcms

我已将此代码添加到Configuration -> system.webServer文件的web.config部分,以强制用户使用https:

<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>

但是当我访问我的网站时,它会将页面重定向到此网址: http://http/

注意:

  • 我使用的是Orchard CMS版本1.10.x
  • 当我使用Orchard的SSL插件强制所有页面使用SSL时,会再次发生这种情况。
  • 在Orchard的设置中启用了SSL重定向。
  • 在我的Plesk控制面板中正确设置了SSL / TLS证书。
  • 网站目前使用“Let's Encrypt”进行保护。当我使用Cloudflare服务时也会发生此问题。
  • 这种情况发生在我测试的每个网络浏览器上。

1 个答案:

答案 0 :(得分:0)

我使用相同的重写规则将Plesk面板上的Orchard重定向到https,使用Let的加密证书。此规则将每个http呼叫重定向到https。 您必须禁用Orchard安全套接字层插件,因为您在web.config中制定了自己的规则。 如果您想使用Orchard插件,请删除重写规则并改为使用插件。