首页 > Windows > IIS实现http跳转https的重定向方法

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

Windows 2023-02-01
一、安装部署证书
首先再控制台申请SSL证书,阿里云与腾讯云控制台可以领取一次免费证书,期限一年。
在IIS服务器上安装IIS证书
 
二、安装URL ReWrite扩展
URL ReWrite扩展下载地址
URL Rewrite : The Official Microsoft IIS Site
在这里插入图片描述
 
三、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通道访问了。