您好,
我对此进行了搜索,但据我所知,由于我使用了 Discourse 默认的 Let’s Encrypt 证书获取方式,它应该会自动续期。但并未发生这种情况。(见下图)
在论坛搜索后,我通过 SSH 安装了 certbot,但当我输入“certbot certificates”时,它甚至找不到已过期的证书,因此“certbot renew”没有任何作用。
我是否遗漏了什么?在我的 Discourse 安装中,我究竟需要做什么来续期我的证书?
请告诉我。谢谢!
您好,
我对此进行了搜索,但据我所知,由于我使用了 Discourse 默认的 Let’s Encrypt 证书获取方式,它应该会自动续期。但并未发生这种情况。(见下图)
在论坛搜索后,我通过 SSH 安装了 certbot,但当我输入“certbot certificates”时,它甚至找不到已过期的证书,因此“certbot renew”没有任何作用。
我是否遗漏了什么?在我的 Discourse 安装中,我究竟需要做什么来续期我的证书?
请告诉我。谢谢!
谢谢。
看来那里推荐的解决方案是重新构建应用并等待。好吧,我今天早上确实重新构建了应用,只是作为一种常规的预防措施。如果那确实是解决方案,也许它会在今天晚些时候自行修复?
它仍然显示为已过期……
您运行的是哪个版本的 Linux?
您是否也执行了 apt-get update / upgrade?
看起来这是 Ubuntu 18.04.4 LTS(GNU/Linux 4.15.0-159-generic x86_64)。
是的,我已经执行了 apt-get update 和 apt-get upgrade,并重启了服务器。
我原本希望某种升级能解决这个问题……
我刚检查了你的证书,它是有效的。
在我这边看起来一切正常。
新的日期和其他所有内容。
啊,好的。即使在删除了浏览缓存后,Chrome 中仍未显示有效的日期,但我刚在 Safari 中检查,确实看到了一个新的有效日期。
看来重新构建应用就是解决方案,希望 Chrome 的问题只是缓存导致的。
感谢你帮我检查。![]()
没问题,随时欢迎 ![]()
我相信情况确实如此。有时让 <某些浏览器> 报告正确的证书可能会很困难(而我知道的也就这么多了)。
我曾遇到过几例情况,必须清除缓存并重启 Chrome 才能显示有效证书。
某些浏览器缓存了一个信任链,其中包含了 LetsEncrypt 已终止的旧 X1 叶子证书。当它们遇到该旧证书并发现其已过期时,就会“卡住”。![]()
困境在于:更新后的浏览器对新的较短信任链感到满意,而旧版浏览器仍需要较长的信任链。这一切都是为了通过全面更新来提升安全性。
使用 acme.sh v3.0.1 及以上版本更新服务器以采用首选信任链的一种方法是:
首选链 · acmesh-official/acme.sh Wiki · GitHub
通过 letsencrypt 在全系统范围内默认设置较短的 ISRG 首选链,然后重新生成所有证书:
acme.sh --upgrade
acme.sh --set-default-chain --preferred-chain "ISRG" --server letsencrypt
acme.sh --renewAll --force
这实际上是极少数适合使用 --force 标志的情况之一。
但请注意……旧版浏览器可能会拒绝较短的信任链,并坚持要求获取该证书。这也可以作为备用信任链下载。我相信 Lets Encrypt 专门为此目的提供了一个链接。我这就过去获取并在这里发布。
收到,JimPas。谢谢。即使我清除了 Chrome 的缓存并重启了浏览器,我仍然看到旧的证书。(但在其他浏览器中,我可以看到证书已更新。)
如果您能找到那条替代的信任链链接,请告诉我。
感谢您的帮助!
您是否已更新 Chrome 浏览器?
请在地址栏中输入 chrome://settings/help
抱歉延误了——昨晚发生了一点小意外。以下是下载 X1 和 X2 证书以及中间叶证书的链接。
LE 根 CA 证书(PEM 格式):
ISRG Root X1
https://letsencrypt.org/certs/isrgrootx1.pem
ISRG Root X2
https://letsencrypt.org/certs/isrg-root-x2.pem
中间证书(PEM 格式):
Let’s Encrypt R3
https://letsencrypt.org/certs/lets-encrypt-r3.pem