IIS配置Url重写实现http自动跳转https的重定向方法
作者: 本站原创 发布时间: 浏览: 次
这种文章网上可以说一搜一大把,但是我为什么还要写呢,因为一搜一把没把我气死,都是东抄西挪的东西,搞得整个文档质量太差。基本上看了几篇,连蒙带猜才配置好。
当然我在2019都要来了的时间写这个文章,有点像49年入国军的感觉。但是改写的内容还是得写,谁叫IIS还是很好用的。
使用场景:首先你的有需求,比如我们的52ABP启用了SSL全站加密,那么默认浏览器进入的地址是:http://www.52abp.com ,我需要将http://www.52abp.com自动跳转到https://www.52abp.com 的入口中去,不然还是会有没加密的路径可以进行访问。
有了需求我们再来说下需要准备的工具和环境:
1、有SSL证书,或者新购。目前很多免费的SSL证书
2、IIS7 / IIS 7.5 下绑定 HTTPS 网站
3、下载安装URL重写模块:Microsoft URL Rewrite Module
32位:http://download.microsoft.com/download/4/9/C/49CD28DB-4AA6-4A51-9437-AA001221F606/rewrite_x86_zh-CN.msi
64位:http://download.microsoft.com/download/4/E/7/4E7ECE9A-DF55-4F90-A354-B497072BDE0A/rewrite_x64_zh-CN.msi
一、打开Url重写工具
在右侧点击添加,然后选择空白规则,然后进行规则的配置。
规则命令如下
这个也是网上一大堆教程最神的地方,很多东西都是缺失的,后者不把代码帖出来的。。
名称:Redirect To HTTPS(这个名字你可以自己改)
模式: (.*) 然后点击忽略大小写
第二、添加规则:
条件中的逻辑分组处理
首先参考上图中的逻辑分组信息。
输入 | 类型 | 模式 | 是否忽略大小写 | 备注 |
---|---|---|---|---|
{HTTPS} | 与模式匹配 | ^OFF$ | YES | 此项用来匹配你的请求是HTTPS还是HTTP |
{HTTPS_HOST} | 与模式不匹配 | ^(localhost) | YES |
如果你是本地的localhost 不会重定向到SSL |
在操作属性中,重定向的URL:https://{HTTP_HOST}/{R:1} ,然后选中 附加查询字符串以及重定向类型为303 即可。
至此配置完成!