- A+
HSTS预加载
HSTS(HTTP Strict Transport Security)是一个安全协议,通过强制客户端只使用 HTTPS 加密协议来增强网络安全性。预加载是将网站域名列表添加到浏览器内部的 HSTS 域名列表中,从而让浏览器对这些网站在第一次访问时就强制使用 HTTPS。
HSTS 预加载的好处是,可以让网站更加安全可靠,避免中间人攻击和数据窃取等问题,同时可以提高网站的性能和排名。HSTS 预加载只需要在服务器上添加一些特殊的 HTTP 头信息即可实现。
HSTS预加载几大功能
- 增强网站安全性:启用HSTS预加载可以强制浏览器只能使用HTTPS协议连接网站,防止HTTP协议下的明文传输,从而增强网站的安全性。
- 避免MITM攻击:通过HSTS预加载,浏览器在第一次访问网站时就会将网站域名的HSTS规则缓存到本地,下次访问时会直接使用HTTPS协议连接,避免中间人攻击(MITM)。
- 提高网站访问速度:启用HSTS预加载后,浏览器会直接使用HTTPS协议连接网站,减少了HTTP重定向的步骤,从而提高了网站的访问速度。
HSTS预加载可以提高网站的安全性和访问速度,同时也有助于提升网站的可信度和用户体验。
WordPress建站环境
我用的环境是MySQL57,PHP74,NGINX122。
WordPress速度优化
hsts预加载列表,用户在访问网站时,会判断你是http网站还是https网站。通过这个预加载列表,可以实现在用户访问之前就能知道是https。
Nginx环境配置
宝塔面板-网站设置-配置文件,大概第8行添加。
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" always;
Apache环境配置参考
宝塔面板-网站设置-配置文件,大概第74行添加。
Header always set Strict-Transport-Security "max-age=63072000; includeSubDomains; preload"
上述代码放于网站配置文件中,一般是httpd.conf文件等网站配置文件。宝塔界面,可以直接点击网站,设置,切换到配置文件选项,添加内容即可。
然后,再到https://hstspreload.org/网站,提交一下你的网站。之后,各大主流浏览器就会内置你的域名到他们的hsts列表中,直接内置到浏览器中。
nginx环境下,添加了hsts标头,出现了两个报错,我们看下如何解决。
Multiple HSTS headers
响应错误:多个 HSTS 标头(HSTS 标头的数量:2)。打开nginx配置文件,找到add_header Strict-Transport-Security "max-age=31536000";
把他注释掉。还有的nginx可能有多个hsts,一起注释掉,只保留上面配置参考添加的代码。
Unnecessary HSTS header over HTTP
http://zhankon.com 的 HTTP 页面发送 HSTS 标头。这对 HTTP 没有影响,应该删除。打开nginx配置文件找到listen 80;
大概第三行直接删除。将以下代码添加到第一行server
上面
server {
listen 80;
server_name www.zhankon.com zhankon.com;
return 301 https://$host$request_uri;
}
注意把我域名换成你自己的,看网站绑定的域名为主。
Hstspreload网站检查
这时变成绿色就成功了,等待生效就行了。
- 我的微信
- 这是我的微信扫一扫
- 我的微信公众号
- 我的微信公众号扫一扫