问题描述
我有一个ASP.Net应用程序托管在安装了Plesk的Web服务器上。
该应用程序托管在子域(webapp.website.com)上,并且通过主域网站提供了用于登录系统的链接,所以到目前为止,我还没有注意到这一点。
如果您输入webapp.website.com
或http://webapp.website.com
,则网站将连接到不安全的页面,并显示以下错误:
如果您手动输入https://webapp.website.com
(这是链接的设置),则应用程序可以正常连接,并且可以正常运行。
我在Plesk中启用了永久重定向到HTTPS,并在IIS管理器中手动编写了重定向规则,但是由于某种原因,它似乎忽略了该规则,因为服务器连接在HTTP中失败并显示了“服务器错误”页面。
我该如何解决重定向问题,以停止HTTP错误,或者跳过该错误并重定向到HTTPS?
解决方法
我怀疑您的规则可能有问题,您可以尝试以下规则:
<rewrite>
<rules>
<rule name="Test" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTPS}" pattern="OFF" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}" appendQueryString="false" />
</rule>
</rules>
</rewrite>
此规则会将所有http请求重定向到https。