整体流程为:

1、安装SSL证书;2、下载安装URL Rewrite模块;3、配置“URL重写”规则,或者修改web.config配置文件。

一、安装部署证书

首先安装SSL证书。

IIS实现http跳转https的重定向方法_重定向

IIS实现http跳转https的重定向方法_重定向_02

IIS实现http跳转https的重定向方法_URL Rewrite_03

二、安装URL ReWrite扩展

URL ReWrite扩展下载地址https://www.iis.net/downloads/microsoft/url-rewrite

下载URL Rewrite安装工具rewrite_amd64_zh-CN.msi:

IIS实现http跳转https的重定向方法_https_04

 下载完成随后安装:

 

IIS实现http跳转https的重定向方法_重定向_05

 安装完成后,退出IIS管理器并重新打开它,在网站主页上会发现多了一个“URL重写”模块:

IIS实现http跳转https的重定向方法_URL Rewrite_06

三、http跳转https的重定向方法

有两种方法可以实现http自动跳转https的重定向方法:

第一种方法是在iis中添加入站规则,第二种方法是在web.config中使用代码配置。两种实现方法只要完成其中的任意一种配置就OK了的。

1.添加入站规则

安装完成后重新打开IIS,在部署的网站主页会多出一个“URL重写”的功能模块,双击打开后依次点击:添加规则——空白规则——确定(以下部分截图来自网上)。

IIS实现http跳转https的重定向方法_重定向_07

  添加入站规则如下图所示进行修改(名称自定义)。

IIS实现http跳转https的重定向方法_IIS_08

条件添加如下图:

IIS实现http跳转https的重定向方法_URL Rewrite_09

 条件说明:

IIS实现http跳转https的重定向方法_重定向_10

服务器变量无需修改,操作项修改如下图:

操作类型为重定向,重定向URL为https://{HTTP_HOST}/{R:1},勾选附加查询字符串,重定向类型为永久(301)。

IIS实现http跳转https的重定向方法_IIS_11

 最后点击右上角应用即可。

IIS实现http跳转https的重定向方法_IIS_12

 2.Web.Config配置

打开项目的Web.Config配置文件,在<system.webServer>中,配置如下重定向代码:

<rewrite>
    <rules>
        <rule name="xinxin" stopProcessing="true">
            <match url="(.*)" />
            <conditions>
                <add input="{HTTPS}" pattern="^OFF$" />
            </conditions>
            <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="Permanent" />
        </rule>
    </rules>
</rewrite>

这些代码对应的就是第一种方法保存后的逻辑代码,其中的name值对应的就是上面我们自定义的规则名称。

这两种方法都基于安装了URL ReWrite扩展的IIS才能实现。

这时用http通道访问网站就会重定向为https通道访问了。