IIS - 实现HTTP重定向到HTTPS上(HTTPS的自动跳转)
- 当域名前面带上 http://,走的就是普通的 HTTP 协议。
- 而域名前面带上 https://,走的就是加密的 HTTPS 协议。
但现实用户访问某个网站时,都是习惯直接在浏览器中输入一个域名,然后回车访问。不会手动在域名前面加上 http:// 或者 https://。这样域名前面的部分都是由浏览器自动填充,但是当前所有浏览器默认填充的都是 http://。
我们可以借助 IIS 自带的 URL 重写功能,将所有来自 http 的请求都重定向到 https。
1,操作步骤
(1)在 IIS 管理控制台上选择需要配置的网站,双击“URL Rewrite”这个图标按钮。

(2)进入 URL 重写模块,点击右侧的“Add Rule(s)...”添加规则。

(3)入站规则选择第一项空白规则“Blank rule”

(4)然后对这条规则进行相关配置。
- Name:随意起,比如我这里叫“redirect to HTTPS”
- Pattern:(.*)
- Conditions:新增一个条件。Input 为 {HTTPS},Pattern 为 ^OFF$
- Redirect URL:https://{HTTP_HOST}/{R:1}
- Redirect type:Permanent (301)

(5)设置完毕后点击右侧的“应用”,这个 URL 重写就配置完毕了。
2,测试
(1)我们打开浏览器,输入 www.hangge.com 回车。

(2)发现网站会自动跳转到 https://www.hangge.com

(3)监听浏览器请求,我们也可以发现最初的 http 请求被重写返回成一个 https 请求(301 跳转)
