开启HSTS让浏览器强制跳转HTTPS访问
>首页 -> 社会专题 -> 硬件网络 2022-01-21 来源:百度 作者: 【】 浏览:536

什么是 HSTS Preload List

HSTS preload list是 Chrome 浏览器中的 HSTS 预载入列表,在加入列表的网站,再让用户访问时,浏览器会强制 HTTPS 请求服务器,同时避免 HTTP 的入侵。Firefox、Safari、Edge、IE11 浏览器都在采用这个列表。未来国内浏览器也会陆续加入这个策略。

配置需求

申请 SSL 证书(如果使用的是 SHA-1 的证书,过期时间必须早于 2016 年)

所有的 HTTP 定向到 HTTPS

确定所有在用的子域名都成功配置了 HTTPS

输出 HSTS 响应头

add_header Strict-Transport-Security "max-age=63072000; includeSubdomains; preload";

max-age 不能低于 1 年(31536000 秒)

必须指定 includeSubdomains 参数

必须指定 preload 参数;

其中

max-age#是必选参数,是一个以秒为单位的数值,它代表着HSTS Header的过期时间,通常设置为1年,即31536000秒

将标头添加Strict-Transport-Security到所有 HTTPS 响应并max-age使用以下标头值逐步提高阶段:

5分钟:max-age=300; includeSubDomains

1周:max-age=604800; includeSubDomains

1个月:max-age=2592000; includeSubDomains

includeSubDomains#是可选参数,如果包含它,则意味着当前域名及其子域名均开启HSTS保护

preload#是可选参数,只有当你申请将自己的域名加入到浏览器内置列表的时候才需要使用到它

一旦您确信不会再出现问题,请将期限增加到max-age2 年并将您的网站提交到预加载列表:

2年,要求预载:

max-age=63072000; includeSubDomains; preload

示例:让浏览器自动升级请求,访问到 http 资源时自动替换成 https 请求

apache的配置文件里添加头部参数:Upgrade-Insecure-Requests

如下边的.htaccess内容:

<IfModule mod_headers.c>
Header always set Content-Security-Policy "upgrade-insecure-requests;"
</IfModule>

三、提交申请

提交网址 https://hstspreload.org/

当然,加入到了HSTS Preload List后,你可能还需要等待1-2月,待新版本的Chrome和Chromium、Firefox、IE等发布后,你的域名算是正式被各大浏览器承认并强制使用Https访问了,你可以在Chrome浏览器的地址框中输入“chrome://net-internals/#hsts”查看。

如果不用注销网址 https://hstspreload.org/

官方也提供了一个申请删除HSTS Preload List,不过需要注意的是撤销HSTS Preload List和加入HSTS Preload List一样,花费的时间可能需要几个月以上,所以申请HSTS Preload List前一定要谨慎。

提交申请过后,需要等待 1-2 月 等待下一次的浏览器版本更新,就会成功内置在浏览器内部。

可以用 Chrome 浏览器输入 chrome://net-internals/#hsts 进行查看是否内置成功

注意:一旦提交之后,就无法撤销,请保持域名的 HTTPS 正常访问。如不想使用 HSTS 删除后域名恢复生效时间会相对较长。

恭喜您!您的网站已经成功提交 HSTS 预加载策略!

附:查询域名是否支持HSTS

每个浏览器查询方式不一样,部分浏览器参如如下:

1、Edge浏览器:edge://net-internals/#hsts

2、Chrome浏览器:chrome://net-internals/#hsts

3、Firefox浏览器:

1)打开 Firefox 浏览器,在浏览器中输入“about:config”并回车

2)在搜索框中输入“security.mixed_content.block_active_content”,点击对话框中的“true”,将其设置为“false”

3)再次输入“security.mixed_content.block_display_content”,将其设置为“false”

4)关闭 Firefox 浏览器,并重新打开即可

HSTS 存在的坑

纯 IP 的请求,HSTS 没法处理,比如 http://2.2.2.2 , 即便响应头中设置了 STS,浏览器也不会理会(未测试)

HSTS 只能在 80 和 443 端口之间切换,如果服务是 8080 端口,即便设置了 STS,也无效(未测试)

如果浏览器证书错误,一般情况会提醒存在安全风险,然是依然给一个链接进入目标页,而 HSTS 则没有目标页入口,所以一旦证书配置错误,就是很大的故障了

如果服务器的 HTTPS 没有配置好就开启了 STS 的响应头,并且还设置了很长的过期时间,那么在你服务器 HTTPS 配置好之前,用户都是没办法连接到你的服务器的,除非 max-age 过期了。

HSTS 能让你的网站在 ssllab 上到 A+

写在最后:HSTS在全站HTTPS下有一个较大的正向作用,推荐使用。

您看到此篇文章时的感受是:
Tags: 责任编辑:佚名
免责申明: 除原创及很少部分因网文图片遗失而补存外,本站不存储任何有版权的内容。你看到的文章和信息及网址索引均由机器采集自互联网,由于时间不同,内容可能完全不同,请勿拿本网内容及网址索引用于交易及作为事实依据,仅限参考,不会自行判断者请勿接受本站信息,本网转载,并不意味着赞同其观点或证实其内容的真实性.如涉及版权等问题,请立即联系管理员,我们会予以更改或删除,保证您的权利.对使用本网站信息和服务所引起的后果,本网站不作任何承诺.
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论:0条】 【关闭】 【返回顶部
更多
上一篇安全狗、云锁、悬镜、护卫神、云.. 下一篇联想智能云教室安装培训材料
密码: (新用户注册)

最新文章

图片主题

热门文章

推荐文章

相关文章

便民服务

手机扫描

空间赞助

快速互动

论坛互动
讨论留言

有事联系

有哪个那个什么的,赶紧点这里给DOVE发消息

统计联系

MAIL:gnlt@Dovechina.com
正在线上:

版权与建议

任何你想说的