NGINX 出问题了?

重新构建没有任何作用,HTTPS 仍然被拒绝,而且更糟糕的是,HTTP 又回到了 NGINX 的欢迎页面。

您肯定已经安装了 nginx。

您是否尝试过
apt purge nginx

dpkg -l |grep nginx

在停止 nginx 后,./discourse-doctor 会显示什么?

返回结果:nginx 未安装

返回结果:无匹配项

所有输入项(如邮箱、网址等)均为空白。

当前有两个容器在运行,端口映射如下:80 → 80、443 → 443 以及 2222 → 22。
系统提示 Discourse 容器应用正在运行,但显示“未找到 Discourse 版本”。

哎呀,没往下滚,让我读一下输出文本,看看它说了什么。
编辑:它说的是同样的内容

你是通过运行 ./discourse-setup 启动这个论坛的吗?

它们分别是什么?

你的意思是问我是否完成了设置流程(我确实完成了),还是问我是否没有运行 ./discourse-doctor(而我实际上运行的是这个)。

抱歉,我搞错了,只有一个,是 4efab95a60b8

现在 HTTP 页面只显示未发送任何数据,因此现在甚至没有 NGINX 页面。
编辑:我们回到了 nginx 页面。
编辑2:算了,我们并没有。

docker ps 显示什么?

与文本文件完全相同的容器。

在这种情况下,使用反向代理配合 caddy 会不会更好?

我只是想知道它叫什么名字。这个编号毫无意义。

我以前用 Caddy 很成功。不过,它很可能也会有同样的问题。

这里有一个建议。

去 DigitalOcean 注册一个 5 美元的 droplet。严格按照安装指南操作,不要复制额外的证书或做其他任何改动。

DigitalOcean 的 droplet 是按比例计费的,如果你按照指南操作(耗时 30 分钟或更短),验证安装的成本仅为 0.02 美元。如果之后你不再需要该实例,只需点击销毁按钮即可。

如果仍然失败,那我们就可以开始排查问题了。

如果成功了,那就证明这不是 Discourse 的问题。如果你选择使用更复杂的环境,很遗憾,你也必须承担由此带来的额外挑战。标准安装已在 DigitalOcean 的 Ubuntu 镜像上得到验证,其网络策略不会导致 Let’s Encrypt 出现问题(但偶尔需要进行适度调整才能正常发送邮件)。

请注意,如果你反复请求同一个证书名称,Let’s Encrypt 可能会将该 FQDN 置于冷却期。

太好了,我终于解决了。以下是我的操作步骤:我安装了 Caddy,并设置了一个代理,将所有来自该 URL 的连接重定向到 localhost:444,但这还不够。我进入 app.yml 文件,将端口修改为如下:

- "81:80" - HTTP 已移至端口 81,以便为 Caddy 预留
- "444:443" - Caddy 将处理 HTTPS

然后,当我访问网站时,页面可以正常加载,并且不再拒绝 HTTPS 连接!
感谢所有提供帮助和提出建议的朋友!

如果必须重新安装 Discourse,我一定会这样做。