配置HSTS
通过开启HSTS(HTTP Strict Transport Security)功能,您可以强制客户端(例如:浏览器)使用HTTPS与CDN节点创建连接,降低用户的第一次访问请求被恶意拦截的风险。
前提条件
执行该操作前,请您确保已成功配置HTTPS证书,操作方法请参见配置HTTPS证书。
背景信息
HSTS(HTTP Strict Transport Security,HTTP 严格传输安全),是一种网站用来声明他们只能使用安全连接(HTTPS)访问的方法。网站可通过声明HSTS,来强制客户端(如浏览器)只能使用HTTPS与服务器连接,拒绝所有的HTTP连接并阻止用户接受不安全的SSL证书,降低第一次访问请求被拦截的风险。
例如,未开启HSTS的情况下,当您的域名在CDN上开启HTTPS安全加速时,在浏览器输入HTTP协议开头的URL链接,用户请求访问到CDN节点上的时候,在配置了HTTP协议跳转HTTPS协议的情况下,CDN节点会将该HTTP请求301或302重定向到HTTPS,在用户的首次请求以HTTP协议访问CDN节点的过程中,HTTP请求可能被恶意拦截或者篡改,存在安全隐患。开启了HSTS以后,客户端只能使用HTTPS协议访问CDN节点,这样就可以杜绝这类隐患。
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无效。
操作步骤
登录CDN控制台。
在左侧导航栏,单击域名管理。
在域名管理页面,单击目标域名对应的管理。
在指定域名的左侧导航栏,单击HTTPS配置。
在HSTS区域,单击修改配置。
在HSTS设置对话框,打开HSTS开关,同时配置过期时间和包含子域名。
过期时间:HSTS响应头在浏览器的缓存时间,建议填入60天。
包含子域名:请谨慎开启,开启前,请确保该加速所有子域名都已开启HTTPS,否则会导致子域名自动跳转到HTTPS后无法访问。
单击确定。