最近从坛子和 Leonax 了解到 还有 一个叫HSTS = HTTP Strict Transport Security 的玩意, 怎么能不折腾. 于是就弄了一下 申请了 今天一查 也加入了浩浩荡荡的大队伍中了.
HSTS 简单来说就是强制 HTTPS. 这需要分两步, 第一步是你的服务器声明 愿意放弃HTTP强制所有访问为安全的HTTPS. 第二步是向几大浏览器 提起申请. 在没有正式接受之前 只要用户第一次访问之后 浏览器还是会记住你的HSTS爱好 并且之后都会强制 HTTPS 而不是 由服务端 通过 301转向.
在APACHE2站点配置文件/etc/apache2/sites-enabled里 你需要在SSL节点加入一行即可.
1 | Header always set Strict-Transport-Security "max-age=15552000; includeSubdomains; preload" |
Header always set Strict-Transport-Security "max-age=15552000; includeSubdomains; preload"
max-age 就是指定这约定的有效期 单位是秒 需要至少 18周(10886400 秒). 保存配置文件之后就可以通过命令 /etc/init.d/apache2 restart or service apache2 restart 进行重启.
在 CloudFlare CDN 可以进行更为简单傻瓜话的一键设置:
在配置好之后 就可以向这个网站 提交申请 [https://hstspreload.appspot.com/], 大概需要几天的时间就可以审核通过.
有用的链接:
CHROME浏览器列表: https://chromium.googlesource.com/chromium/src/net/+/master/http/transport_security_state_static.json
火狐FIREFOX浏览器列表: https://mxr.mozilla.org/mozilla-aurora/source/security/manager/ssl/nsSTSPreloadList.inc
检查浏览器是否支持HSTS约定: http://caniuse.com/#search=HSTS
这样之后 你就保证在有效期之前 网站就是HTTPS 如果想反悔就比较麻烦 要记住 一旦浏览器记住你的约定 你的网站如果突然哪天没有HTTPS 这种情况下是访问不了的. 嗯.哪天CLOUDFLARE不支持免费SSL就惨了.
英文: https://helloacm.com/two-domains-hsts-http-strict-transport-security/
loading...
上一篇: 公司 购买 正版 DELPHI XE8 软件 并附送 一套 DELPHI 2007
下一篇: 老婆代购 - 畅购英伦
是谁劝你加入这个名单?是谁通知你已经成功入驻这个名单?
入驻浏览器的名单后,是会被添加进浏览器的源代码的,全球的浏览器里面都会有你的域名了,不入驻名单的HSTS,一旦浏览器清除了记录,清除cache, cookies什么的,就失效了,要重新加载一次https才会记住的~入驻了浏览器的源代码后,哪怕第一次,也是在本地换成HTTPS加载网页~
SSL证书会越来越便宜(其实现在已经有免费的SSL证书了),将来免费的SSL会更多,更好,不用怕.