IIS实现http跳转https的重定向方法
一、安装部署证书
首先再控制台申请SSL证书,阿里云与腾讯云控制台可以领取一次数量为20的免费证书,期限一年。
在IIS服务器上安装IIS证书(阿里云)
IIS 服务器 SSL 证书安装部署(腾讯云)
阿里云申请免费SSL证书
腾讯云申请免费SSL证书
二、安装URL ReWrite扩展
三、http跳转https的重定向方法
有两种方法,第一种是在iis中添加入站规则;第二种是在web.config中代码配置
1.添加入站规则
安装完成后重新打开IIS,再部署的网站主页会多出一个URL重写
的栏目
双击打开后依次点击:添加规则——空白规则——确定。
添加入站规则如下图所示进行修改(名称自定义)。
条件添加如下图:
条件说明:
条件输入 | 检查输入字符串是否 | 模式 | 忽略大小写 | 备注 |
---|---|---|---|---|
{HTTPS} | 与模式匹配 | ^OFF$ | 是 | 此项用来匹配请求是HTTPS还是HTTP |
{HTTPS_HOST} | 与模式不匹配 | ^(localhost) | 是 | 如果是本地不会重定向到SSL |
服务器变量无需修改,操作项修改如下图:
操作类型为重定向
,重定向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>
这些代码对应的就是第一种方法保存后的逻辑代码。
两种方法都基于安装了URL ReWrite扩展的IIS。
这时用http通道访问网站就会重定向为https通道访问了。