首先呢 要感谢bobo酱的指导 因为他的指导 我少走了很多弯路
首先呢 HSTS的作用是强制客户端(如浏览器)使用HTTPS与服务器创建连接
也就是说 一旦第一次链接建立 在很长的时间里 你的浏览器在想该网站发送HTTP请求时,必须采用HTTPS
首先 htst的头部
Strict-Transport-Security: max-age=63072000; includeSubdomains; preload
其中63072000是有效时间(也就是两年)在这个时间里hsts是有效的
nginx可以添加
add_header Strict-Transport-Security "max-age=63072000; includeSubdomains; preload";
来完成这个状态 首先上一下评分
好可怜啊 有木有!
首先 先修改 使其使用TLSv1 TLSv1.1 TLSv1.2;并设置Session cache缓存区(简化握手)大小
session_timeout 10m;ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
1M大小大约可以储存的4000个Session
只使用TLSv1 TLSv1.1 TLSv1.2而不用不安全的SSLv2 和 SSLv3
配置优先加密组件
ssl_ciphers 'AES128+EECDH:AES128+EDH';
使用命令生成pem
openssl dhparam -out dhparam.pem 2048
配置前向安全性和 Diffie Hellman Ephemeral (DHE)参数 将其用作 DHE 密钥交换 <br/>
ssl_dhparam /root/dhparam.pem;
使用了前向安全性,如果一个攻击者取得了一个服务器的私钥,他是不能解码之前的通讯信息的。这个私钥仅用于 Diffie Hellman 握手签名,并不会泄露预主密钥。Diffie Hellman 算法会确保预主密钥绝不会离开客户端和服务器,而且不能被中间人攻击所拦截。
<br/>
<br/>
提交地址https://hstspreload.appspot.com/(需梯子)