当前位置: > > > IIS - 实现HTTP重定向到HTTPS上(HTTPS的自动跳转)

IIS - 实现HTTP重定向到HTTPS上(HTTPS的自动跳转)

  在之前的文章中我介绍了如何通过配置 SSL 证书从而让网站实现 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 URLhttps://{HTTP_HOST}/{R:1}
  • Redirect typePermanent (301)

(5)设置完毕后点击右侧的“应用”,这个 URL 重写就配置完毕了。

2,测试

(1)我们打开浏览器,输入 www.hangge.com 回车。

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

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