有没有办法在没有 SSL 证书的情况下清除 HSTS?

Is there a way to clear HSTS without an SSL cert?

最近网站换了服务器,弄丢了解密后的SSL密钥,加密后的密码我也想不起来了。 原来服务器开启了HSTS,现在很多访问者因为我没有有效的SSL证书而无法加载页面,并且他们的浏览器由于HSTS而拒绝通过http连接。

所以,我需要一种方法来从他们的浏览器中禁用 HSTS。要求他们清除浏览数据是不行的,但我想知道我是否可以制作一个 firefox/chrome 兼容 javascript 来清除它。 (脚本将在不同的域上)

我一直在深入研究,但没有找到太多关于我应该如何解决这个问题的信息,如果可能的话。也欢迎所有其他建议。

HSTS 是为了做出权衡:您负责从现在开始并永远提供浏览器可以依赖的安全 SSL 连接,这将导致浏览器拒绝与您的域的 SSL 连接以外的任何连接。这会给您带来额外的负担,但会增加访问者的安全性。

浏览器将此首选项存储在内部数据库中,任何网站都无法清除。如果任何站点都可以通过 Javascript 简单地撤销此首选项,那么整个系统将毫无意义。

您必须手动清除数据库 and/or 删除该特定条目。每个浏览器的做法都不同,请参阅 http://classically.me/blogs/how-clear-hsts-settings-major-browsers 了解概览。

真正的解决方案:

  1. 安装有效的证书
  2. 吸引人们访问您的网站
  3. 发送新的header

现在,获得一个有效的证书 free 或者比一个三明治(8 美元左右)还便宜。