HSTS是“HTTP Strict Transport Security”(HTTP严格安全传输)的缩写,开启了这项设置以后,主流浏览器会强制性地使用HTTPS来请求资源,能够更加有效地保护你网站和用户的数据安全。一般情况(未启用HSTS),浏览器会允许用户在了解了安全风险之后继续使用不安全的连接来访问,但如果启用了HSTS,则不允许这样做,所以你得有一定要长期使用HTTPS的打算,才能启动HSTS。并且HSTS是针对整个域名,包括所有的二级域名,并不能单独提交二级域名。
启用HSTS
HSTS 是一个响应头,格式如下:
Strict-Transport-Security: max-age=31536000; includeSubDomains; preload;
max-age,单位是秒,用来告诉浏览器在指定时间内,这个网站必须通过 HTTPS 协议来访问。也就是对于这个网站的 HTTP 地址,浏览器需要先在本地替换为 HTTPS 之后再发送请求
includeSubDomains,可选参数,如果指定这个参数,表明这个网站所有子域名也必须通过 HTTPS 协议来访问
preload,可选参数,预加载到浏览器缓存
HSTS 这个响应头只能用于 HTTPS 响应;网站必须使用默认的 443 端口;必须使用域名,不能是 IP。而且启用 HSTS 之后,一旦网站证书错误,用户无法选择忽略。
申请Preload List
HSTS 必须要在浏览器访问过你的网站一次以后才会生效,如果希望提前生效(首次访问就绕过80端口,直接访问443端口,妙用自己琢磨),需要申请 HSTS Preloading List。
目前这个 Preload List 由 Google Chrome 维护,Chrome、Firefox、Safari、IE 11 和 Microsoft Edge 都在使用。如果要想把自己的域名加进这个列表,首先需要满足以下条件:
拥有合法的证书;
将所有 HTTP 流量重定向到 HTTPS;
确保所有子域名都启用了 HTTPS;
输出 HSTS 响应头:
max-age 不能低于 18 周(10886400 秒);
必须指定 includeSubdomains 参数;
必须指定 preload 参数;
满足上述所有条件之后,就可以去 https://hstspreload.org/ 提交申请加入preload list了, 不过加入容易退出难,所以一定要考虑好了再提交申请哦
最新评论
还有个问题就是:如果没有了Redis Object Cache这个插件的支持,那么如何手动清理Redis产生的缓存文件呢,每次修改过网站模板或者一些设置文件后,不清理缓存的话还是无法搞清楚是否生效啊
感谢博主分享,以前一直是只能使用redis或memcached其中之一,今天看到博主的教程,切换到了Nginx openresty然后跟着教程操作完,检查总是显示bypass绕过或miss,不知道哪里不对,每一步都是跟博主教程一样的操作。博主有qq或微信吗,想请教下~
。。。。。。
错别字,重新提交一下问题-小白提问,我所有的操作和流程和教程完全一致,没有出现任何意外情况,直到群晖桌面生成图标,鼠标放上图标显示已启动,点击打开图标显示此站点连接不安全,然后我把浏览器安全级别降到最低,还是一样,请问大佬可能是哪里出问题了呢
小白提问,我所有的操作和流程和教程完全一致,没有出现任何意外情况,知道群晖桌面生成图标,鼠标放上图标现在已启动,点击打开显示此站点连接不安全,然后我把浏览器安全级别降到最低,还是一样,请问大佬可能是哪里出问题了呢。
这个办法好,找了半天都没找到能完整使用redis+memcached的办法,还是在这里找到了。 感谢博主的方法,试了一下,挺好的。但是我发现,套了cloudflare之后,即使不开页面规则(即不对网站进行全站缓存),F12查看网站依旧会发现cf cache命中,查看x-cache提示bypass绕过,那这个方法是不是只有cf没有缓存的时候才有效呢? 不过不管cf有没有作用,实际感受上,网站响应速度快了很多。
请问一下,重启之后缓存会被删除啊,这个怎么解决呢
没听懂链路聚合什么意思