【http转https】其之三 IIS_URL重写_http重定向到https

时间:2021-03-07 14:23:15

IIS_URL重写_http重定向到https

文:铁乐猫 2016年1月14日

IIS7以上支持URL Rewrite这个模块了,所以在我们做好了ssl证书这一块之后,
要对来自http的请求重定向到https(因为普通用户一般是不会特意去敲https进你所属网站的)就可以通过URL Rewrite这个模块去实现了。
注意,这个模块设置后,就算你原本网站是没有webconfig这个配置文件也会自动去生成这样一个文件,里面就有你在URL Rewrite模块上做的规则,代码去实现。

下载安装URL重写模块:
https://www.iis.net/downloads/microsoft/url-rewrite
IIS重定向模块,建议下拉页面选择url-rewrite 2下载,虽然下载后安装是英文。
这里有提供中文模块的: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

安装完后,在IIS管理控制台上选择要配置的网站,在IIS下会看到多出了URL Rewriter图标
【http转https】其之三 IIS_URL重写_http重定向到https

进入URL重写模块,点击右侧的添加规则(Add Rule(s)...)
【http转https】其之三 IIS_URL重写_http重定向到https

第一列入站规则中选择第一项空白规则(blank rule)
【http转https】其之三 IIS_URL重写_http重定向到https

确定
弹出编辑入站规则对话框
【http转https】其之三 IIS_URL重写_http重定向到https

名称:例如起redirect to HTTPS
模式:(.*)
模式填写这里用的是正则表达式,下拉展开条件,编辑条件(ADD...)
条件输入:{HTTPS}
模式:off 或 ^OFF$
【http转https】其之三 IIS_URL重写_http重定向到https

重定向URL:https://{HTTP_HOST}/{R:1}
重定向类型:已找到(302) 或 参阅其它(303)

【http转https】其之三 IIS_URL重写_http重定向到https
【http转https】其之三 IIS_URL重写_http重定向到https

配置完成后“应用”到当前站点,URL重写配置结果,除了在URL Rewrite模块中可以看到规则外,在网站根目录下打开web.config文件中也能看到规则:
【http转https】其之三 IIS_URL重写_http重定向到https
【http转https】其之三 IIS_URL重写_http重定向到https

Web.config

至此,配置完成,测试在浏览器中只输http://www.domain.com之类也会自动跳转到https://www.doamin.com