关于HSTS的总结

访问http网站,和服务器交互的步骤
浏览器向服务器发起一次HTTP请求
服务器返回一个重定向地址
浏览器在发送一次HTTPS请求,得到最终内容

上面浏览器发送http请求后容易被拦截,使用HSTS后可以避免
浏览器发送http请求,浏览器自己将http转为Https请求
在访问服务器
服务器返回内容

HSTS:HTTP Strict-Transport-Security

服务器返回给浏览器的响应头中,添加如下
Strict-Transport-Security: max-age=31536000; includeSubDomains;preload
max-age是设置时间,必填
includeSubDomains是否包含子域名,选填
preload选填
在接下来一年(31536000秒),对于当前域名及其子域名的后续通信强制使用HTTPS
有效期是最近两次操作的间隔时间

启用了浏览器HSTS保护的网站,如果浏览器发现当前连接不安全,仅仅是警告用户,不再给用户提供是否访问的选择

浏览器内置一个列表,只要在列表中的域名,都是用HTTPS发起连接

nginx可以配置HSTS
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
在生产环境中使用要特别谨慎,否则恰好证书出问题,这个时间设置过长会出现无法访问

 

posted on 2019-01-30 14:55  daV_chen  阅读(274)  评论(0编辑  收藏  举报

导航