我忘记更新我的 Let's Encrypt 证书,并且我在我的网站上使用了 HPKP。
目前,由于旧的固定密钥仍然存在,我无法打开我的网站。我收到的浏览器错误是(在 Firefox 上):MOZILLA_PKIX_ERROR_KEY_PINNING_FAILURE
更新证书后,我该怎么做才能让我的访问者再次访问我的网站?
答案1
如果你正在使用certbot
客户端,那么显然你应该阅读 HPKP前使其能够。
实际上,无论证书是否过期,Let's Encrypt 客户端都会在颁发新证书时生成新密钥,因此在您遇到您所面临的问题之前,固定密钥的持续时间不会超过 90 天。
现在,最好的办法是查找存档的密钥,/etc/letsencrypt
并使用您已固定的密钥手动生成 CSR,并要求 Let's Encrypt 根据该 CSR 向您颁发证书(据我所知,客户端也会处理该问题)。然后更改您的 HPKP,改为将证书固定在证书链中更高的位置,这样它就不会每 90 天更改一次,并将其生命周期大大缩短到几分钟(因为我假设您复制粘贴了在互联网上找到的设置),一旦您真正理解了它的含义,请仔细考虑如何设置它。