宝塔开启HSTS,
, It's sunny
关于HSTS
HSTS(HTTP Strict Transport Security)国际互联网工程组织 IETF 正在推行一种新的 Web 安全协议
HSTS 的作用是强制客户端(如浏览器)使用 HTTPS 与服务器创建连接。服务器开启 HSTS 的方法是,当客户端通过 HTTPS 发出请求时,在服务器返回的超文本传输协议响应头中包含 Strict-Transport-Security 字段。非加密传输时设置的 HSTS 字段无效。
比如,https://xxx 的响应头含有Strict-Transport-Security: max-age=31536000; includeSubDomains。这意味着两点:
在接下来的一年(即 31536000 秒)中,浏览器只要向 xxx 或其子域名发送 HTTP 请求时,必须采用 HTTPS 来发起连接。比如,用户点击超链接或在地址栏输入 http://xxx/ ,浏览器应当自动将 http 转写成 https ,然后直接向 https://xxx/ 发送请求。
在接下来的一年中,如果 xxx 服务器发送的 TLS 证书无效,用户不能忽略浏览器警告继续访问网站
摘自百度百科
简单来说就是告诉浏览器,在接下来一年时间内,必须通过 HTTPS 发起连接,无法降级为 HTTP, SSL 证书过期也会通过 HTTPS 发起连接,即使浏览器提示危险(例如:chrome)
以上个人理解,如有勿,望指正,勿喷~
配置HSTS
我用的是宝塔的 nginx
将下列代码加入到站点配置中server
内
改完需重启nginx
add_header Strict-Transport-Security "max-age=63072000; includeSubdomains; preload";
当然用户第一次建立连接用的不是 HTTPS ,而是HTTP则不会跳转到 HTTPS ,那我们的 HSTS 就不会生效,所以我们要加个跳转
同样添加在 server 内加入一下代码
if ($server_port = 80 ) {
return 301 https://$host$request_uri;
}
如图所示
评级
此时你可以到 SSL/TSL安全评估评级
HSTS 对评级影响很大
如图:
最后
- 这个很早就想弄了,太懒了:p
- 如有不对之处望指正~
Сialis
Hi there would you mind stating which blog platform you're using?
I'm planning to start my own blog soon but I'm having a tough time making a decision between BlogEngine/Wordpress/B2evolution and
Drupal. The reason I ask is because your layout seems different then most blogs and I'm
looking for something completely unique.
P.S Sorry for getting off-topic but I had
to ask!
牧羊
Typecho:http://typecho.org
Pinghus:https://github.com/chakhsu/pinghsu
牧羊
My blog platform is t[ypecho](http://typecho.org)
The blog template is pinghus
Typecho is very good
xcsoft
这个人你认识吗
牧羊
不认识,应该是广告,