标准安装导致错误和警告

你好,

我刚刚在 Ubuntu 20 服务器上全新安装了 Discourse。我遵循了标准安装流程,但在日志中发现了一些奇怪的现象,包括一些错误和警告。我在同一天多次运行了 launcher rebuild app 命令,但每次日志在指出 Let’s Encrypt 证书的位置后都会显示以下错误(我已将 FQDN 用“abc”代替):


-----END CERTIFICATE-----
您的证书位于 /shared/letsencrypt/abc/abc.cer
您的证书私钥位于 /shared/letsencrypt/abc/abc.key
中间 CA 证书位于 /shared/letsencrypt/abc/ca.cer
完整链证书位于:/shared/letsencrypt/abc/fullchain.cer
O = Digital Signature Trust Co., CN = DST Root CA X3
错误 10,深度 3 查找:证书已过期
使用的 CA:https://acme-v02.api.letsencrypt.org/directory

脚本似乎随后尝试完成证书的签名,在成功之后,再次列出了证书位置。证书已被安装,但当脚本重启 nginx 时,以下错误再次出现:


运行重载命令:sv reload nginx
警告:nginx:无法打开 supervise/ok:文件不存在
重载错误:
O = Digital Signature Trust Co., CN = DST Root CA X3
错误 10,深度 3 查找:证书已过期
O = Digital Signature Trust Co., CN = DST Root CA X3
错误 10,深度 3 查找:证书已过期
已启动 runsvdir,进程 ID 为 4266

这两个任务都再次执行了一遍,效果相同。

我可以通过 https 访问论坛,但浏览器提示网站不安全,称某些内容(如图片)不安全。Firefox 的安全详情中也显示该网站未提供所有权信息,且未说明是谁验证了证书(我猜是证书)。不过,当我点击“查看证书”时,一切似乎正常——甚至证书的过期时间显示为明年。

请问这些日志中的错误/警告可能是什么原因导致的?该如何修复?

谢谢,
Goppi

前往 管理 > 设置 并启用 force https。如果您的站点上的 HTTPS 未完全正常工作,启用此选项可能会导致问题。在启用此设置之前,请确保您已通过 HTTPS 访问您的站点。

如果不启用此设置,Discourse 将通过 HTTP 加载图片和其他站点内容,从而在安全实例上引发混合内容警告。

这与 Let’s Encrypt 的根证书问题有关。我希望本周内能够修复。在此之前,启用 force_https 应该能解决最严重的问题。