首先来说一说什么是hsts以及其有什么好处
hsts是 HTTP Strict Transport Security 的缩写,使得用户在打开你的站点时默认使用https协议调用资源,从而更好地保护数据安全以及减轻网站重定向的负担
hsts,简单来说就是一响应头,格式如下:
Strict-Transport-Security: max-age=/*时间*/;[includeSubDomains;][preload;]
其中
max-age:以秒为单位,用以告知浏览器在指定时间内访问网站时需要使用https协议
includeSubDomains:表示此域下所有子域均开启hsts
preload:表示预加载到浏览器缓存
那么具体怎么实现呢?
理论上来说,nginx只需要一行代码便应该可以实现
add_header Strict-Transport-Security: "max-age=31536000; includeSubdomains; preload";
但是不知道是因为tengine的锅还是怎样,我只要加上这行之后nginx就会报错,只好将这个功能加到php程序内
<?php header('Strict-Transport-Security: max-age=31536000; includeSubdomains; preload'); ?>
然后可以按f12检查一下
大功告成
什么是hsts preload list
hsts preload list 是由 Google Chrome 维护,Chrome、Firefox、Safari、IE 11 和 Microsoft Edge 都在使用的一个hsts站点列表,它可以让用户无需访问过你的网站便可开启hsts
那么如何申请呢
首先请打开 这个网页
输入你的网址,按下按钮
然后待它检查完通过后,在此提交下面的表单人工审核即可
大约需要几天时间,你的域名便可进入hsts preload list了
This website uses cookies.