网站配置HSTS协议的好处和必要性
一般情况下我们访问一个网站时,在浏览器中输入网址。比如直接输入网址https://wpbox.cc或 wpbox.cc,这就给了中间人攻击的机会,会被重定向到恶意站点,不是很安全。
我的WordPress百宝箱使用了七牛免费SSL,虽然实现了HTTPS,但是在打开网站的一瞬间,经常看到需要从 HTTP 访问跳转到 HTTPS。
因为在主机上做过301重定向到 https://wpbox.cc, HTTPS 网站的做法是对用户的 HTTP 访问跳转到 HTTPS。这个跳转使用了不安全的 HTTP 通信。
HSTS协议的出现就是解决这个问题的。HSTS可以阻止基于SSLStrip 的中间人攻击;
而HSTS协议使 Web 服务器告知浏览器不使用 HTTP 访问,在浏览器端自动将所有到该站点的 HTTP 访问替换为 HTTPS 访问。
HSTS是网站从HTTP跳转到HTTPS中加强网站性能及安全优化非常重要的一个环节。我的WordPress百宝箱,在使用中,发现对于我的网站访问速度、Google搜索引擎收录优化,有非常大的帮助,非常值得推荐。
因为我的WordPress百宝箱是搭建在Wopus的虚拟主机上,所以实现HSTS和一般的VPS服务器搭建的网站还是有非常大的区别的。
基本思路就是通过Really Simple SSL pro插件和按照HSTS Preload List检测要求来完成HSTS布置的。
关于如何设置HSTS,并提交HSTS Preload List下篇文章再做介绍。
这篇主要是介绍HSTS和配置HSTS给网站带来了什么好处。。
采用HSTS协议的网站将保证浏览器始终连接到该网站的 HTTPS 加密版本,不需要用户手动在浏览器地址栏中输入加密地址,直接跳转到HTTPS网站,不再使用HTTP。
HSTS协议可以对你的网站采用全局加密,用户看到的就是该网站的安全版本。也就是在浏览器中,直接显示的是带有小绿锁版本的网站,不再是标识为不安全的网站。
HSTS协议带有强制性,强制浏览器使用 HTTPS与服务器创建连接。所以要想解除HSTS协议,还是比较麻烦的。但是因为这个协议是由各大浏览器公司和互联网组织推动,所以暂时没有淘汰的可能性。
HSTS如何工作
配置HSTS后,会在给浏览器返回的 HTTP头部携带HSTS字段。
浏览器获取到该信息后,会将所有 HTTP 访问请求在内部做307跳转到 HTTPS,而无需任何网络过程,从而提高了兼容性。
目前几乎所有的浏览器都支持HSTS
但是HSTS是有一个问题,第一次访问网站的浏览器,HSTS 并不工作。
要解决这个问题,需要将网站提交到HSTS preload list。
什么是HSTS Preload List?
HSTS Preload List是浏览器中的 HSTS 预载入列表。
进入该列表中的网站,使用浏览器访问时,会自动转换成 HTTPS。
具体的申请条件,可以将你的网站提交HSTS Preload List ,提交会出来你要满足什么条件;
因为我是用的Really Simple SSL pro插件配置的HSTS,提交到HSTS Preload List,今天查看已经通过审核。
从申请到审核通过,时间在十天左右。在提交申请的这段时间里,不要取消任何的301重定向,如果取消可能审核不通过。不过审核通过后,就可以取消。
HSTS的必要性
强制通过使用HSTS协议,浏览器直接使用HTTPS访问页面,有效阻止中间人劫持;通过减少跳转请求,也会提高网站的访问速度。对网站整体优化,有非常的大的促进作用。。