Nginx配置HSTS
来自Linux78|wiki
定义
HSTS(HTTP Strict Transport Security) 即HTTP严格传输安全 它是一套由互联网工程任务组发布的互联网安全策略机制
作用
抵御SSL剥离攻击: 攻击前提是用户很少直接在地址栏输入https:// 用户总是通过点击链接或3xx重定向从HTTP页面进入HTTPS页面
强制浏览器使用HTTPS与服务器建立连接 只要浏览器曾经与服务器建立过一次安全连接
原理
当浏览器通过HTTPS发出请求时 在服务器返回的响应头中包含Strict-Transport-Security字段max-age 浏览器有效期includeSubDomains 是否包含子域名
Nginx配置HSTS
server {
listen 443 ssl;
server_name domain.com;
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
location / {
}
}
缺陷
用户首次访问某网站是不受HSTS保护的 因为浏览器还未收到HSTS 所以仍有可能通过明文HTTP来访问
解决办法: 浏览器预置HSTS域名列表 https://hstspreload.org/