通过开启HSTS(HTTP Strict Transport Security)功能,您可以强制客户端(例如:浏览器)使用HTTPS与全站加速节点创建连接,降低用户的第一次访问请求被恶意拦截的风险。
前提条件
背景信息
HSTS(HTTP Strict Transport Security,HTTP 严格传输安全),是一种网站用来声明他们只能使用安全连接(HTTPS)访问的方法。网站可通过声明HSTS,来强制客户端(如浏览器)只能使用HTTPS与服务器连接,拒绝所有的HTTP连接并阻止用户接受不安全的SSL证书,降低第一次访问请求被拦截的风险。
例如:未开启HSTS的情况下,当您的域名在全站加速上开启HTTPS安全加速时,在浏览器输入HTTP协议开头的URL链接,用户请求访问到全站加速节点上的时候,在配置了HTTP协议跳转HTTPS协议的情况下,全站加速节点会将该HTTP请求301或302重定向到HTTPS,在用户的首次请求以HTTP协议访问全站加速节点的过程中,HTTP请求可能被恶意拦截或者篡改,存在安全隐患。开启了HSTS以后,客户端只能使用HTTPS协议访问全站加速节点,这样就可以杜绝这类隐患。
HSTS响应头结构为:
Strict-Transport-Security:max-age=expireTime [;includeSubDomains] [;preload]
,参数说明如下表所示。
参数 | 说明 |
---|---|
max-age | HSTS Header的过期时间,单位为秒。 |
includeSubDomains | 可选参数。如果包含这个参数,说明该域名及其所有子域名均开启HSTS。 |
preload | 可选参数。当您申请将域名加入到浏览器内置列表时需要使用preload列表。 |
约束限制
- HSTS生效前,可以通过配置强制跳转功能实现在用户首次请求使用HTTP协议访问的情况下,能够通过301重定向的方式让客户端使用HTTPS协议发起访问。
- HSTS响应头在HTTPS访问的响应中有效,在HTTP访问的响应中无效。
- 仅对443端口有效,对其他端口无效。
- 仅对域名有效,对IP无效。