如何在 Linux 中关闭 HSTS?

在 Linux 系统中关闭 HSTS 主要针对浏览器:进入浏览器设置(如 Chrome 的 chrome://net-internals/#hsts 或 Firefox 的隐私与安全设置),删除特定域名的 HSTS 策略或清除浏览数据中的 HSTS 信息即可临时禁用。

在Linux系统中关闭HSTS(HTTP Strict Transport Security)通常是为了解决开发测试中的强制HTTPS跳转问题,但需注意HSTS是重要的安全机制,长期关闭会降低网站安全性,以下是详细操作指南:

如何在 Linux 中关闭 HSTS?


HSTS简介及关闭风险提示

HSTS是一种浏览器安全策略,强制通过HTTPS连接网站(有效期由max-age控制),关闭场景:

  • 开发/测试环境:需临时禁用HTTPS验证。
  • 证书错误调试:解决因HSTS缓存导致的无法访问。
  • 风险提示:生产环境禁用HSTS会暴露用户数据风险,操作后务必恢复。

浏览器级别关闭HSTS(临时生效)

Chrome/Chromium

# 终端执行命令清除HSTS缓存
google-chrome --delete-hsts-domain=your-domain.com  # 替换your-domain.com

或手动操作:

  1. 访问 chrome://net-internals/#hsts
  2. 在”Delete domain”输入域名 → 点击”Delete”

Firefox

  1. 访问 about:config
  2. 搜索 security.cert_pinning.enforcement_level → 值改为 0
  3. 清除HSTS缓存:
    • 地址栏输入 about:preferences#privacy
    • 点击”Clear Data” → 勾选”Cache” → 确认

Edge

  1. 访问 edge://net-internals/#hsts
  2. 在”Delete domain”输入域名 → 点击”Delete”

效果:关闭后浏览器不再强制HTTPS,重启浏览器或超过max-age时间后策略恢复


系统级关闭HSTS(需Root权限)

适用于全浏览器生效的场景(如系统代理或全局配置):

如何在 Linux 中关闭 HSTS?

删除HSTS预加载列表

# 检查预加载列表路径(常见位置)
sudo find / -name "hsts_preload.list" 2>/dev/null
# 备份并清空文件(以Ubuntu为例)
sudo cp /etc/chromium-browser/policies/managed/hsts_preload.list ~/hsts_backup
sudo sh -c 'echo "" > /etc/chromium-browser/policies/managed/hsts_preload.list'

修改系统证书配置

# 编辑证书配置文件
sudo nano /etc/ca-certificates.conf
# 注释掉包含"HSTS"或"Preload"的行(行首加!)
# !mozilla/HSTS_Preload_List.crt
# 更新配置
sudo update-ca-certificates --fresh

服务器端关闭HSTS(永久生效)

若您控制网站服务器,直接移除响应头:

Nginx

# 编辑站点配置文件
server {
    listen 443 ssl;
    # 删除或注释以下行:
    # add_header Strict-Transport-Security "max-age=31536000" always;
}

重启服务:sudo systemctl restart nginx

Apache

# 编辑.htaccess或虚拟主机文件
# 删除或注释:
# Header always set Strict-Transport-Security "max-age=31536000"

重启服务:sudo systemctl restart apache2


验证HSTS是否关闭

  1. 使用curl命令检查响应头:
    curl -I http://your-domain.com | grep -i Strict-Transport-Security

    无输出则表示已关闭

    如何在 Linux 中关闭 HSTS?

  2. 浏览器访问HTTP版网站,应不再自动跳转到HTTPS。

关键注意事项

  1. 临时性操作:浏览器清除HSTS后,新访问域名会重新接收HSTS策略。
  2. 生产环境警告:除非调试需要,否则永远不要禁用HSTS。
  3. 恢复HSTS
    • 浏览器:重启或等待max-age过期(默认1年)。
    • 服务器:重新添加Strict-Transport-Security响应头。
  4. 预加载列表:提交到HSTS预加载列表的域名需通过官方提交移除申请

操作建议:优先使用浏览器临时清除,避免修改系统/服务器配置,操作前备份关键文件。


引用说明:本文方法参考自Mozilla开发者文档、Chromium项目HSTS管理指南及Apache/Nginx官方配置手册,技术细节详见:

原创文章,发布者:酷盾叔,转转请注明出处:https://www.kd.cn/ask/45492.html

(0)
酷盾叔的头像酷盾叔
上一篇 2025年7月4日 11:49
下一篇 2025年7月4日 11:56

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN