首先来说一说什么是hsts以及其有什么好处

hsts是 HTTP Strict Transport Security 的缩写,使得用户在打开你的站点时默认使用https协议调用资源,从而更好地保护数据安全以及减轻网站重定向的负担

  • 那么接下来我们先来讲一下启用hsts的问题

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

hsts preload list 是由 Google Chrome 维护,Chrome、Firefox、Safari、IE 11 和 Microsoft Edge 都在使用的一个hsts站点列表,它可以让用户无需访问过你的网站便可开启hsts

那么如何申请呢

首先请打开 这个网页

输入你的网址,按下按钮

然后待它检查完通过后,在此提交下面的表单人工审核即可

大约需要几天时间,你的域名便可进入hsts preload list了

发表回复

您的电子邮箱地址不会被公开。