Nginx 开启HSTS
我的网站一直都加了证书,开启了http2,既是安全保障,请求并发也有了优势,不用特别去用雪碧图,减少js、css的数量来提升网站加载速度了。证书当然是用的免费的 Let’s Encrypt 证书了,Let’s Encrypt 支持泛域名,可以说非常方便了。
背景
我一直使用以下配置将http强制跳转到https。
server
{
listen 80;
server_name fishliu.com;
rewrite ^(.*)$ https://$host$1 permanent;
}
今天想着还是开启一下HSTS,避免初始的http请求被劫持。
HTTP Strict Transport Security (通常简称为HSTS) 是一个安全功能,它通过服务器response header的形式告诉浏览器只能通过HTTPS访问当前资源, 禁止HTTP方式.
Nginx开启HSTS
listen 443 ssl http2;
server_name fishliu.com;
# 添加一个响应头就能开启
add_header Strict-Transport-Security "max-age=63072000;
includeSubdomains; preload";
- max-age 表示STS 策略的过期时间,也就是浏览器在收到带有 Strict Transport Security – response header 多久后过期,就可以转为http 请求。
- includeSubdomains 表明 STS 策略也应用到 当前域名的子域名。
最后
最后你还可以去hstspreload.org 站点去提交Preload List,主流的浏览器就会强制你的站点访问https站点
5 comments
文字流畅如丝,语言优美动人,读来令人心旷神怡。
独特的构思和新颖的观点,让这篇文章在众多作品中脱颖而出。
案例丰富且贴合主题,论证逻辑环环相扣。
情感表达稍显含蓄,可适当强化渲染。
文字流畅如丝,语言优美动人,读来令人心旷神怡。