假设我的服务器IP地址为:http://192.168.1.100(非SSL)
我的域名是:https://helloserver.com(SSL)
如果有人要通过域helloserver.com
访问我的网站,则服务器应自动将其重定向到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" redirectType="Permanent"
url="https://{HTTP_HOST}/{R:1}" />
</rule>
但是,如果有人从IP地址本身访问该网站,则会显示证书错误,因为该IP地址没有证书。
我该如何修改以下规则,以免当使用IP地址访问网站时它将使用HTTP而不是重定向的HTTPS规则
我猜想它与<match url="" />
条件有关。
有什么主意吗?
答案 0 :(得分:1)
<rule name="HTTP to HTTPS redirect" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTPS}" pattern="off" ignoreCase="true" />
<add input="{HTTP_HOST}" pattern="^helloserver.com$" />
</conditions>
<action type="Redirect" redirectType="Permanent"
url="https://{HTTP_HOST}/{R:1}" />
</rule>