IIS 8基于URL地址重定向到HTTPS

时间:2018-09-02 12:21:21

标签: ssl iis config iis-8 server-configuration

假设我的服务器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="" />条件有关。

有什么主意吗?

1 个答案:

答案 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>