通过开启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无效。

操作步骤

  1. 登录CDN控制台
  2. 在左侧导航栏,单击域名管理
  3. 域名管理页面,单击目标域名对应的管理
  4. 在指定域名的左侧导航栏,单击HTTPS配置
  5. HSTS区域,单击修改配置
  6. HSTS设置对话框,打开HSTS开关
  7. 根据需求配置相关参数。
    • 过期时间:HSTS响应头在浏览器的缓存时间,建议填入60天,可填时间范围为0~730天。
    • 包含子域名:请谨慎开启,开启前,请确保该加速所有子域名都已开启HTTPS,否则会导致子域名自动跳转到HTTPS后无法访问。
    HSTS设置
  8. 单击确定