技术交流

当前位置:首页 >> 技术交流 >> IIS通过web.config使http跳转到https

IIS通过web.config使http跳转到https

发布:2020-06-17

什么是https?https与http有什么不同?

http(Hyper Text Transfer Protocol)协议是超文本传输协议,用于在Web浏览器和服务器之间传递信息,http协议以明文方式发送内容,不提供任何方式的数据加密,数据在传输过程中容易被攻击者监听、截取和篡改。

而https(Hyper Text Transfer Protocol over Secure Socket Layer)是安全套接层超文本传输协议,为了数据传输的安全,https在http的基础上加入了SSL协议,可以使数据进行加密传输,还能验证网站身份,相当于http的升级版,比http协议安全。

https协议需要到证书颁发机构CA申请SSL证书,而http不用申请SSL证书。

那么,在IIS中如何通过web.config使http跳转到https呢?

1、下载并安装URL重写模块(Microsoft URL Rewrite Module 2.1):

中文32位:https://download.microsoft.com/download/D/8/1/D81E5DD6-1ABB-46B0-9B4B-21894E18B77F/rewrite_x86_zh-CN.msi

中文64位:https://download.microsoft.com/download/1/2/8/128E2E22-C1B9-44A4-BE2A-5859ED1D4592/rewrite_amd64_zh-CN.msi

2、在IIS对应站点的SSL设置中不要勾选“要求 SSL”,如图:

http跳转到https

3、在Web.config中添加(注意,添加位置在:

<system.webServer></system.webServer>
之间。):

<rewrite>
    <rules>
        <rule name="HTTP to HTTPS redirect" stopProcessing="true">
            <match url="(.*)" />
            <conditions>
                <add input="{HTTPS}" pattern="off" ignoreCase="true" />
            </conditions>
            <action type="Redirect" redirectTypes="Found" url="https://{HTTP_HOST}/{R:1}" />
        </rule>
    </rules>
</rewrite>
声明:以上文章素材和专业知识由本站人工原创整理,谢绝转载。
标签: IIS http https