其他分享
首页 > 其他分享> > IIS 实现http重定向https(亲测有效:解决URL重写模块配置https重定向不生效的问题)

IIS 实现http重定向https(亲测有效:解决URL重写模块配置https重定向不生效的问题)

作者:互联网

前言

以前部署网站的时候,都是通过代码来实现http重定向https,最近在部署个人网站的时候,突发奇想可不可通过IIS来实现无代码的重定向呢?
在一番操作猛如虎的搜索引擎操作后,发现只有google浏览器能实现重定向,在反复对照网络教程后陷入了深深的自我怀疑。最后不得已只能一步一步来解析到底哪个地方出现了问题,现在将我重定向的步骤分享给大家。

实际操作

(一)下载IIS的“URL重写”插件

提示:这个插件只支持 IIS 7, IIS 7.5, IIS 8, IIS 8.5, IIS 10

第一种安装:通过IIS中的“Web平台安装程序”。

注意:如果IIS中没有这个安装程序,就只能采用第二种安装方式了。
首先:点击IIS的左侧主页,进入主页功能视图后再点击“Web平台安装程序”

接下来:进入“Web平台安装程序”后,先点击“产品”标签,然后在搜索框中输入“url”回车进行搜索

最后:在搜索结果中就能看见“URL重写工具”安装包了,点击安装就可以了(因为我已经安装过了就显示的“已安装”)

第二种安装:通过微软官网进行下载

microsoft url-rewrite链接地址:https://www.iis.net/downloads/microsoft/url-rewrite

(二)进行配置

通过上述安装步骤,如果安装成功,就能在主页功能视图中看见“URL重写”功能模块了。

第一步:进入功能界面后,点击右侧的“添加规则”

第二步:在弹出的对话框中,点击“空白规则”

第三步:进入入站规则编辑页面
1、名称部分
随意填写(我这儿因为是已经应用的规则,所以输入框是灰色的,新建的时候是白色的可以输入的)
2、匹配URL部分进行如下操作

序号 输入位置 输入内容
1 请求的URL 选择“与模式匹配”
2 使用 选择“正则表达式”
3 模式 输入“^((https
4 忽略大小写勾选框 勾上

3、条件部分的逻辑分组:选择“全部匹配”,选中后点击“添加”按钮,然后在弹出的对话框中进行如下操作

序号 输入位置 输入内容
1 条件输入 输入“{HTTPS} ”
2 检查输入字符串是否 选择“与模式匹配”
3 模式 输入“^OFF$”
3 忽略大小写勾选框 勾上

备注:这个条件的作用是为了屏蔽已经带有https的链接再进行重定向。

提示:在匹配URL部分操作完成后可以点击“测试模式”按钮,在弹出的对话框中的“要测试的输入数据”位置输入“http://www.test.org/first/second?one=text”或者其他任意你想测试的网址,就能看见我们刚输入的正则表达式将网址如何进行了拆分。其中的{R:3}就是我们希望获取的部分。

4、操作部分的逻辑分组:选择“全部匹配”,选中后点击“添加”按钮,然后在弹出的对话框中进行如下操作

序号 输入位置 输入内容 备注
1 操作类型 选择“重定向”
2 操作属性-重定向URL 输入“https://{HTTP_HOST}/{R:3}” 特别提醒:{R:3}就是从匹配URL部分的正则表达式来的
3 操作属性-附加查询字符串勾选框 勾上
4 操作属性-重定向类型 选择“永久(301)” 如果没有其他考量,建议http重定向https这种需求选择永久

(三)确认后应用配置的规则

在上述操作完成后,点击右侧“应用”,然后进入浏览器输入http测试就能看到重定向的效果了(提前安装SSL证书哦_)。

写在最后

一开始是想跟着网上的教程抄,省事儿。没想到最后还是要自己一步一步来学着如何配置。
如果有小伙伴跟着以上内容进行配置后(且清除了浏览器缓存)仍旧存在不生效的情况,可以在评论区留言。

标签:http,重定向,IIS,URL,点击,https,输入
来源: https://www.cnblogs.com/hxsfx/p/16663976.html