IIS 重写 HTTP 重定向到 HTTPS

首先要明确我们的需求,比如我们的网站启用了SSL全站加密,那么默认浏览器进入的地址是:http://www.csdn.net ,我需要将http://www.csdn.net自动跳转到https://www.csdn.net 的入口中去,不然还是会有没加密的路径可以进行访问。

在同一个网站上要绑定http的80端口和https的443端口,如下图:绑定端口
明确需求之后我们再来说下需要准备的工具和环境:

URL ReWrite工具,下载地址:https://www.iis.net/downloads/microsoft/url-rewrite
如果无法下载,可以去从Web Platform Installer里面进行安装吧。Web Platform Installer下载地址
Web Platform 下载界面
下载之后安装Url 重写工具安装
安装之后,我们在IIS中就能看到重写Url的操作按钮了。
Url重写按钮
选择某一个站点中的URL重写,我们称之为单独的非全局配置。

添加入站规则
在右侧点击添加规则,然后选择空白规则,然后进行规则的配置。
在这里插入图片描述
添加条件

输入类型格式模式忽略大小写备注
{HTTPS}与模式匹配^OFF$YES此项用来匹配你的请求是HTTPS还是HTTP
{HTTPS_HOST}与模式不匹配^(localhost)YES如果你是本地的localhost不会重定向到SSL

重定向
在操作属性中,重定向的URL:https://{HTTP_HOST}/{R:1} ,然后选中 附加查询字符串以及重定向类型为302 即可。

说明

条件输入字符串中的值就是服务器变量,而具体使用哪些服务器变量则与匹配类型有关
这里我们挑选最常使用的匹配类型:与模式匹配。这种模式最常使用的服务器变量类型如下:QUERY_STRING、HTTP_HOST、SERVER_PORT、SERVER_PORT_SECURE、REQUEST_URI。
条件输入字符串的值为服务器变量
假设向下面的URL地址发送一个请求:https://csdn.net/Home/Index?page=1&tid=11,那么这些变量的含义如下:

1.QUERY_STRING 服务器变量所包含的是 page=1&tid=11这部分,表示URL的参数字符串
2.HTTP_HOST 服务器变量所包含的部分是shiyousan.com,表示所请求的主机域名 SERVER_PORT
3.服务器变量所包含的部分是 80,表示服务器的端口 SERVER_PORT_SECURE
4.服务器变量所包含的部分是0,HTTPS请求为OFF,表示接受请求的服务器端口是否为安全端口时,是为1,否则为0,一般来说如果是HTTPS请求则为安全端口,即为1,HTTPS为ON。
5.REQUEST_URI 服务器变量所包含的部分是/Home/Index?page=1&tid=11,就是除了主机域名外剩下的URL地址字符串和参数字符串。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值