整体流程为:
1、安装SSL证书;2、下载安装URL Rewrite模块;3、配置“URL重写”规则,或者修改web.config配置文件。
一、安装部署证书
首先安装SSL证书。
二、安装URL ReWrite扩展
URL ReWrite扩展下载地址https://www.iis.net/downloads/microsoft/url-rewrite
下载URL Rewrite安装工具rewrite_amd64_zh-CN.msi:
下载完成随后安装:
安装完成后,退出IIS管理器并重新打开它,在网站主页上会发现多了一个“URL重写”模块:
三、http跳转https的重定向方法
有两种方法可以实现http自动跳转https的重定向方法:
第一种方法是在iis中添加入站规则,第二种方法是在web.config中使用代码配置。两种实现方法只要完成其中的任意一种配置就OK了的。
1.添加入站规则
安装完成后重新打开IIS,在部署的网站主页会多出一个“URL重写”的功能模块,双击打开后依次点击:添加规则——空白规则——确定(以下部分截图来自网上)。
添加入站规则如下图所示进行修改(名称自定义)。
条件添加如下图:
条件说明:
服务器变量无需修改,操作项修改如下图:
操作类型为重定向,重定向URL为https://{HTTP_HOST}/{R:1},勾选附加查询字符串,重定向类型为永久(301)。
最后点击右上角应用即可。
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通道访问了。