iis之http重定向https
文章 2193 0 0 0
发布时间:2018年09月06日

IIS7下面默认HTTPS绑定是无法指定主机头的,但我们可以通过手工修改IIS配置来实现主机头绑定。

打开C:Windowssystem32inetsrvconfigapplicationHost.config

定位到如下位置:

<bindings>
<binding protocol="https" bindingInformation=":443" />
<binding protocol="net.pipe" bindingInformation="" />
<binding protocol="net.msmq" bindingInformation="localhost" />
<binding protocol="msmq.formatname" bindingInformation="localhost" />

找到https的配置项目,修改为:

<binding protocol="https" bindingInformation=":443:www.zhuimengzhu.com" />

加上

<binding protocol="https" bindingInformation=":443:zhuimengzhu.com" />

注意这里的www.console.com要换成你自己的域名,之后保存即可。

为了保证域名统一,将访问 http://zhuimengzhu.com、http://www.zhuimengzhu.com、https://zhuimengzhu.com 的域名都跳转到https://www.zhuimengzhu.com,IIS 可以进行如下配置 url重写 (需要安装 IIS UrlRewrite 模块,代码注释是为了方便理解,部署到线上请删除中文注释):

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <rule name="HostNameRule1">
                    <match url="(.)" />
                    <!–匹配所有条件–>
                    <conditions logicalGrouping="MatchAny">
                    <!–当不是使用https协议访问的时候–>
                    <add input="{HTTPS}" pattern="^OFF$" />
                    <!–并且访问的host不是zhuimengzhu.com这种,例如www.zhuimengzhu.com–>
                    <add input="{HTTP_HOST}" pattern="^www.zhuimengzhu.com$" negate="true" />
                    </conditions>
                    <!–跳转到https–>
                    <action type="Redirect" url="https://www.zhuimengzhu.com/{R:1}" />
                    </rule>
                    <rule name="HTTPS redirect">
                    <conditions>
                    <!–当使用HTTPS协议访问–>
                    <add input="{HTTPS}" pattern="^ON$" />
                    <!–当访问 https://zhuimengzhu.com的时候 –>;
                    <add input="{HTTP_HOST}" pattern="^www.zhuimengzhu.com$" negate="true" />
                    </conditions>
                    <!–跳转到HTTPS–>
                    <action type="Redirect" url="https://www.zhuimengzhu.com/{R:1}" redirectType="SeeOther"/>
                </rule>
            </rules>
        </rewrite>
    </system.webServer>

然后保存

评论专区