Discourse 无法访问 - SSL 问题

您好,

论坛在这里:https://forum.survivingeconomicabuse.org/

有人告诉我,由于 SSL 证书过期,现在无法访问该论坛。

我去年夏天设置了网站,论坛是安全的,但显然它无法续订证书(我认为)。我查看了有关如何强制更新证书的各种帖子,但似乎都没有奏效。还有一个建议是删除现有的证书并重建应用程序,但这也没有奏效。

我想知道是否有人能给我一些关于这方面的建议,我对命令行还算熟悉,但绝非专家。

谢谢!

您需要重新构建。

  cd /var/discourse
 ./launcher rebuild app
3 个赞

我尝试重建了几次但都没有成功,但为了以防万一,我将再次尝试。

我尝试重新构建,但网站不幸的是仍然一样

先运行这个

apt-get update
apt-get upgrade

奇怪,我现在在 http:// 下看到的是默认的 Apache 页面?这很奇怪,不是吗?

不是的。您的 SSL 已过期,因此您可以通过 http 浏览。

这表明您的服务器上运行着 Apache,您应该将其移除或禁用。如果您进行了大量的重建,您可能已经达到了速率限制,并且在一周内无法获得新的证书。

1 个赞

如果我错了,请纠正我:您也可以检查 /var/discourse/shared/standalone/letsencrypt/acme.sh.log 来查找错误。

我已经删除了 Apache,但仍然无法访问论坛

在这一点上,我还能做什么来完全理解这个问题?

尝试这个时出现权限被拒绝…

据我所知,默认情况下,Discourse 在没有 https 的情况下无法运行。

不过,也许你可以尝试注释掉这些行(在 /var/discourse/container/app.yml 中添加 # 并重新构建应用)?

#  - "templates/web.ssl.template.yml"
#  - "templates/web.letsencrypt.ssl.template.yml"

你是在服务器上以 root 用户登录的吗?你是如何连接到它的?

我之前实际上注释掉了它们,所以我又把它们加回来了并重新构建,但没有变化。

我通过 root 用户登录到 DigitalOcean。

如果您的服务器上没有其他应用程序,您可以简单地格式化/重置以获得一个全新的服务器,然后重新安装 Discourse(请先下载您的备份!),然后恢复您的 Discourse 备份。

但正如 Jay 所说:


话虽如此,我在想。在这种情况下,注释掉 app.yml 中的 SSL 行是否会让论坛通过 HTTP 工作,然后在几周后我们可以取消注释该行,进行重建,并获得一个有效的证书?

您尝试时发生了什么?

您是否尝试过

./launcher start app

但您可能需要

  ./launcher rebuild app

但是,正如我之前所说,您可能已经重建了足够多的次数,以至于达到了 Let’s Encrypt 的速率限制。您可以等待一周,或者尝试 设置具有多个域的 Let’s Encrypt,然后添加另一个子域(您首先需要创建一个指向您服务器的 DNS 条目),然后再次尝试重建。

您可以查看

  tail  /var/discourse/shared/standalone/logs/var-log/nginx/error.log

以查看 Nginx 错误。

启动应用 = “无事可做,您的容器已启动”

我最近重新构建了,没有做任何额外的更改。

我执行了:ls -l /var/discourse/shared/standalone/ssl

看起来我有了新的证书?

tail /var/discourse/shared/standalone/logs/var-log/nginx/error.log

出现“无此文件或目录”错误?

尝试使用 sudo:
sudo nano /var/discourse/shared/standalone/letsencrypt/acme.sh.log

@stuartleech 我看到您的问题仍未解决。有什么可以帮您的吗?

抱歉,应该是这个:

root@forum:~# tail  /var/discourse/shared/standalone/log/var-log/nginx/error.log
2022/02/04 17:04:01 [emerg] 19332#19332: cannot load certificate "/shared/ssl/forum.survivingeconomicabuse.org.cer": PEM_read_bio_X509_AUX() failed (SSL: error:0909006C:PEM routines:get_name:no start line:Expecting: TRUSTED CERTIFICATE)

我正在处理这个问题,但仍然存在 SSL 问题。我无法确定 IP 是否已被速率限制,或者是否存在我没有看到的网络或防火墙问题。

1 个赞

供您参考,这帮助我解决了 SSL 问题。谢谢!

1 个赞