配置HSTS
更新时间:2023-10-20
概述
当您在浏览器输入或直接单击 HTTP 链接时,服务器会将该 HTTP 请求的 301 和 302 重定向到 HTTPS。该操作过程可能被劫持,导致重定向后的请求未发送到服务器,通过开启 HSTS(HTTP Strict Transport Security)功能,您可以强制客户端(如浏览器)使用 HTTPS 与服务器创建连接,降低第一次访问被劫持的风险。
HSTS 的响应头语法:Strict-Transport-Security: max-age=expireTime [; includeSubDomains] [; preload]
,参数说明如下表所示。
参数 | 说明 |
---|---|
max-age | 必选参数,单位为秒,它代表着HSTS Header的过期时间。 |
Strict-Transport-Security | 在浏览器缓存的时间,浏览器处理域名的HTTP访问时,若该域名的Strict-Transport-Security没有过期,则在浏览器内部做一次307重定向到HTTPS,从而避免浏览器和服务器之间301/302重定向被劫持的风险。 |
includeSubDomains | 可选参数。如果包含这个参数,说明当前域名及其所有子域名均开启HSTS保护。 |
preload | 可选参数,支持preload列表。 |
前提条件
在开启 HSTS 功能前,您需要确保已成功配置 HTTPS 证书,配置详情请参考 配置HTTPS。
配置HSTS
- 登录CDN管理控制台,进入“内容分发网络CDN”页面。
- 在左侧导航栏,点击域名管理。
- 进入域名管理页面,点击目标域名操作列的管理。
- 进入“CDN域名详情”页,在页面上方导航栏选择HTTPS配置页签。
- 进入HTTPS配置页面,在HSTS配置模块,点击编辑。
-
设置 HSTS 参数,选择开启,并填写过期时间和是否包含子域名。
注意:
- 过期时间为HSTS响应头在浏览器的缓存时间,建议填写60天。
- 如果选择开启“包含子域名”,需要确保该加速所有子域名都开启了HTTPS。
- 点击保存后,在HSTS配置模块可以看到HSTS设置成功,页面提示“配置已更新成功,大约5分钟生效”。