繁体   English   中英

HTTP 到 HTTPS 不适用于我的 asp.net 网站

[英]HTTP to HTTPS not working for my asp.net website

我尝试了几乎所有与 http 到 https 重定向的 web.config 更改相关的 upvoted 建议。 asp.net 中为整个站点强制使用 https 的最佳方法?

但它不适用于我的 ASP.net 站点。 我使用 GoDaddy 共享主机并在我的帐户中有多个站点。 我只为一个网站启用了 ssl,并且必须添加它以进行过滤,以便同一帐户中的其他网站不会重定向到 https。 这是我的 web.config:

<rewrite>
  <rules>
    <rule name="HTTP to HTTPS redirect" stopProcessing="true" enabled="true">
      <match url="singledomain.*" />
      <conditions>
        <add input="{HTTPS}" pattern="off" ignoreCase="true" />
      </conditions>
      <action type="Redirect" redirectType="Permanent" url="https://{HTTP_HOST}/{R:1}" />
    </rule>
  </rules>
</rewrite>

我目前可以通过 http 和 https 访问该站点。 但它永远不会从 http 重定向到 https。 匹配条件是否正确,如果正确,还有什么问题?

在这里找到解决方案: https: //stackoverflow.com/a/17066105/2535756 在此处发布有效的代码:

<rewrite>
      <rules>
        <rule name="HTTP to HTTPS" stopProcessing="true">
          <match url="(.*)" />
          <conditions>
            <add input="{HTTP_HOST}" pattern="(singledomain.com.*)" />
            <add input="{HTTPS}" pattern="off" ignoreCase="true" />
          </conditions>
          <action type="Redirect" redirectType="Permanent"  url="https://{HTTP_HOST}/{R:1}" />
        </rule>
      </rules>
    </rewrite>

使用 GoDaddy,根据我的经验,Plesk 应用程序中有一个设置实际上会强制从 HTTP 重定向到 HTTPS。您可以在目录安全设置下的 IIS 设置下找到它,并选中需要 SSL/TSL 框。 这会强制用户的浏览器使用 HTTPS 而不是 HTTP。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM