在浏览器中忽略子域名的 HSTS

在浏览器中忽略子域名的 HSTS

[摘自https://stackoverflow.com/questions/39937837/]

我已将 DNS 设置为指向local.example.com127.0.0.1。这样我就可以在实时网站和开发环境之间共享 cookie。

在实时网站上激活 HSTS 后,我的浏览器会自动尝试访问本地网站https://local.example.com/ 但它不起作用,因为我的开发服务器不支持 SSL(我曾尝试在端口 443 上提供服务)。

有没有办法指示我的浏览器(Chromium)忽略 HSTS?

(从我读过的内容来看,includeSubDomains避免 cookie 劫持攻击非常重要 - 基本上我只想为自己包含子域例外)。

答案1

我不确定这是否对您的具体情况有帮助(并且您知道这个“解决方案”),但一种可能的方法是清除浏览器 HSTS 缓存。也许还可以将其映射到特殊键(组合),这将使调用它变得更容易。

使用 Chromium 进行操作的方法如下:

  1. 关闭与出现问题的页面相关的所有打开的标签。
  2. 在新标签页中输入chrome://net-internals/#hsts
  3. 找到部分标题“查询域”,在“域:”旁边的文本字段中输入遇到问题的域,然后按下标有的按钮Query
  4. 搜索查询框下方出现的所有域名都需要删除。
  5. 找到部分标题“删除域”,在“域:”旁边的文本字段中输入遇到问题的域,然后按下标有的按钮Delete
  6. 重复步骤 3 到 5,直到步骤 3 中的查询结果显示“未找到”。
  7. 关闭浏览器然后重新打开,您的问题现在应该已经解决。

附加说明:这仅当您的域名不属于HSTS 预加载列表

答案2

不,无法添加例外。但是 HSTS 只声明必须有有效证书,而没有声明是哪个证书(有 HPKP 标头),因此您可以生成自己的自签名证书,将其作为受信任证书导入 chrome,这样 HSTS 即使在本地主机上也能正常工作。

相关内容