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

Posted

技术标签:

【中文标题】IIS 8 基于 URL 地址重定向到 HTTPS【英文标题】:IIS 8 Redirect to HTTPS Based on URL Address 【发布时间】:2019-02-07 18:08:49 【问题描述】:

假设我的服务器 IP 地址是:http://192.168.1.100 (NON 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 规则

我猜它与&lt;match url="" /&gt; 条件有关。

有什么想法吗?

【问题讨论】:

【参考方案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> 

【讨论】:

也许如果你解释一下它可能更有价值。 我想知道我应该解释什么。我添加了一行,它是自我解释的。 @LexLi 既然你回答了我之前的一个问题,你也可以看看这个吗? ***.com/questions/55816876/…

以上是关于IIS 8 基于 URL 地址重定向到 HTTPS的主要内容,如果未能解决你的问题,请参考以下文章

如何过去一起重定向301重写iis-8.5?

IIS URL 重写模块:基于 QueryString 的重定向

iis url 将 http 重定向到非 www https

如何将所有非 www 的 URL 重定向到 https://www。在 IIS 中?

通过 IIS 将 http 重定向到 https

IIS Rewrite 模块中的 URL 重定向异常被忽略