IIS 8 基于 URL 地址重定向到 HTTPS
IIS 8 Redirect to HTTPS Based on URL Address
假设我的服务器 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="" />
条件有关。
有什么想法吗?
<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>
假设我的服务器 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="" />
条件有关。
有什么想法吗?
<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>