当前位置:首页 > 行业动态 > 正文

HTTP严格传输安全协议怎么看配置

查看HTTP严格传输安全协议(HSTS)配置可通过以下方式:检查HTTP响应头中是否包含 Strict-Transport-Security字段,或使用在线工具(如SSL Labs)测试网站安全等级,浏览器开发者工具的”安全”标签页也会显示 HSTS

什么是HTTP严格传输安全协议(HSTS)?

HSTS(HTTP Strict Transport Security)是一种Web安全策略,通过声明性HTTP头字段告诉浏览器“必须始终通过HTTPS访问当前域名”,即使用户输入http://也会自动升级为https://,它能有效防止:

  • 降级攻击(如中间人改动请求为HTTP)
  • Cookie劫持(非安全上下文下的Cookie泄露)
  • 协议混淆攻击(如HTTPS站点被强制降级为HTTP)

如何查看HSTS配置

方法1:通过浏览器开发者工具

  1. 打开目标网站(如https://example.com)。
  2. 按F12打开开发者工具,切换到“网络(Network)”标签。
  3. 刷新页面,点击任意请求的“Headers”标签。
  4. 查找Strict-Transport-Security字段,格式如下:
    Strict-Transport-Security: max-age=31536000; includeSubDomains; preload

方法2:使用在线工具检测

工具名称 网址 功能说明
HSTS检测器 https://hstspreload.org/ 检查域名是否已加入HSTS预加载列表
SecurityHeaders.io https://securityheaders.io/ 综合检测HSTS及其他安全头配置

方法3:命令行工具(Curl)

执行命令:

HTTP严格传输安全协议怎么看配置  第1张

curl -I -k https://example.com

在响应头中查找Strict-Transport-Security字段。


HSTS关键参数解析

参数 作用 示例
max-age=秒数 指定浏览器强制使用HTTPS的时间(秒),建议至少31536000(1年) max-age=31536000
includeSubDomains 是否对所有子域名生效 添加; includeSubDomains
preload 是否申请加入浏览器根证书预加载列表 需单独提交至hstspreload.org

常见问题与注意事项

  1. HSTS生效后如何撤销?
    无法直接撤销!一旦浏览器记住HSTS策略,即使服务器删除该头字段,仍会强制HTTPS访问,直到max-age时间过期。

  2. HSTS与HTTPS的关系?

    • HTTPS:加密传输,依赖证书。
    • HSTS:强制客户端使用HTTPS,解决“首次连接不安全”问题。
    • 组合效果:HTTPS提供加密,HSTS强制使用加密。

相关问题与解答

问题1:如何配置HSTS?

解答
在服务器配置文件中添加以下响应头(根据服务器类型调整语法):

  • Nginx
    add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" always;
  • Apache
    Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"
  • Node.js
    res.setHeader('Strict-Transport-Security', 'max-age=31536000; includeSubDomains; preload');

问题2:HSTS预加载(HPKP)是什么?

解答
HSTS预加载(HTTPS Public Key Pinning)是谷歌维护的浏览器根证书预加载列表,将域名提交至hstspreload.org后,浏览器会直接信任该域名的证书,无需等待HSTS生效,但需注意:

  • 提交后无法修改证书颁发机构。
  • 仅支持includeSubDomainsmax-age>18周
0