[英]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.