摘要: 很高兴的告诉大家,阿里云负载均衡SLB已经在澳大利亚(悉尼)、日本(东京)、阿联酋(迪拜)、美国 (弗吉尼亚)、美国(硅谷)、马来西亚(吉隆坡)、德国(法兰克福)、新加坡、印度尼西亚(雅加达)上述地域,支持HTTP访问强制跳转HTTPS功能。
1. Greeting
Update:现已新增香港、华北3(张家口)、华北5(呼和浩特)地域还支持,国内其他地域,将在5月份陆续上线。
很高兴的告诉大家,阿里云负载均衡SLB已经在澳大利亚(悉尼)、日本(东京)、阿联酋(迪拜)、美国 (弗吉尼亚)、美国(硅谷)、马来西亚(吉隆坡)、德国(法兰克福)、新加坡、印度尼西亚(雅加达)上述地域,支持HTTP访问强制跳转HTTPS功能。
2. 什么是HTTP访问强制跳转到HTTPS
众所周知,HTTPS比HTTP有着更好的安全性,越来越多的网站部署HTTPS,谷歌Chrome浏览器默认将一个未部署HTTPS的网站标识为不安全,HTTPS将逐渐成为网站和WEB应用的标配。
图示:未部署HTTPS的网站被谷歌标识为不安全
通常HTTPS使用TCP:443端口对外提供服务,在浏览器中输入https://www.aliyun.com 浏览器便会去访问www.aliyun.com这个域名所指向服务的TCP:443端口所提供的HTTPS服务。但也有细心的用户发现,即便在浏览器中输入http://www.aliyun.com 来访问阿里云的官网,页面打开时依然显示访问的是https://www.aliyun.com 这是什么原因呢?答案就是HTTP访问强制跳转HTTPS。
3. 为什么需HTTP访问强制跳转到HTTPS
因为越来越的网站开始启用全站HTTPS,全站HTTPS意味着所承载的业务有着更好的安全性,同时也可以获得更好的网站安全评级。但是用户常常只会通过域名去访问一个网址,而难以记住一个网站是到底是HTTP或者HTTPS的,在启用了全站HTTPS后,假如没有开启HTTP强制跳转HTTPS,那么用户直接通过HTTP方式去访问是无法正常访问的,导致流量白白的损失掉了。为了让这部分用户也能正常访问网址,就需要有HTTP强制跳转HTTPS的功能,即使用户通过HTTP方式去访问一个HTTPS的网站时,能够自动跳转到HTTPS的网址。
4. HTTP访问强制跳转到HTTPS怎么实现的
通过HTTP协议中302返回码来实现的。
我们知道常见的HTTP返回码有2xx(代表成功),3xx(代表重定向),4xx(代表找不到资源),5xx(代表服务器错误),在这些返回码中301/302代表改网址被重定向至别处
假设浏览器访问一个网址example.com并收到一个302的回应,意味着该网址被重定向,302回应报文中还会带一个Location字段,该字段的值是一个URL,告诉浏览器这个网址被重定向到哪里,浏览器会从Location字段中取出目标URL,重新发起请求,实现访问的跳转。这便是HTTP访问强制跳转HTTPS的工作原理。
在阿里云负载均衡SLB没有提供HTTP强制跳转HTTPS功能以前,要实现这样的功能,用户只能在后端ECS中配置来实现,配置过程比较繁琐,调试起来也很费时。
现在您只需要在负载均衡SLB上简单配置即可完成HTTP访问强制跳转HTTPS,下面我们看看怎么使用。
5. 通过控制台来设置HTTP访问强制跳转HTTPS
首先,建立好HTTPS:443监听,确保通过HTTPS方式访问您的网站或应用是没有问题的。
上图中所示,创建了一个HTTPS的监听,添加后端服务器,并且能够正常工作。
随后添加一个HTTP:80的监听,在创建监听时,控制台上会出现监听转发的选项,点击开启
可以看到系统加载出目的HTTPS:443监听
点击确认。
可以看到上该实例上多了一个80监听,一个蓝色的(R)标识该监听被重定向到443端口,意味着从HTTP:80端口进来的访问都会被重定向至HTTPS:443。
接下来,就可以通过HTTP访问去访问网站,你会发现,自动强制跳转已经生效了。
6. 结尾
目前仅开放了HTTP:80端口向HTTPS:443端口的重定向,如有更多其他端口的跳转需求,可以通过工单申请。更新信息请参考产品帮助文档:https://help.aliyun.com/document_detail/69312.html
最后祝大家工作生活愉快,我们下篇文章见,拜拜。
原文链接
干货好文,请关注扫描以下二维码: