升级后运行多个容器时出现防火墙问题

@fitzy,刚才发生了一件有趣的事!

我在服务器上重启了 Docker……论坛恢复了,但紧接着另一个论坛又停止工作了!于是我再次重启,先尝试访问这个论坛,结果失败了;接着访问另外两个,它们都正常运行了(它们比这个论坛更重要)。这看起来非常奇怪,但至少我们有了更多线索可以排查!

docker_manager 中是否有变更,导致同一时间只能有两个 Discourse 容器正常运行?

1 个赞

尚未进行此类更改,而且由于容器首先是隔离工具,它们彼此之间互不可见。

很抱歉,您的自定义配置与我们的标准安装相差甚远,因此我们无法在此提供个性化支持。此外,这也偏离了 PostgreSQL 13 升级的主题。或许您可以在 Marketplace 频道寻求帮助?

5 个赞

我刚升级了 Docker,也遇到了和 Michael 一样的问题——看起来先访问的论坛会导致该论坛崩溃。

但 Rafael,似乎正是这次升级引发了问题。此前该系统已稳定运行多年,期间可能经历了数百次更新却从未出现问题。

我在设置 Discourse 时一直寻求您的指导,因此希望自己是按照 Discourse 的推荐方式进行的配置(我认为这种配置也没什么特别不寻常之处:在一台服务器上运行多个站点/论坛)。

1 个赞

这听起来更像是主机/服务器层面的问题,而不是应用容器内部的问题。如果网站 还能正常工作(例如,你可以使用 Rails 控制台),那么升级到 PostgreSQL 13 就不是问题所在。

2 个赞

我在想,或许这次更新中还有其他因素导致了这个问题——但公平地说,我有一段时间没有升级论坛了(因为我在推迟),所以这可能与其中的某次其他更新有关。

我们是否可以将这里非 PG 的帖子单独拆分到一个专题中,以便查明原因?我相信这对其他人也会很有帮助(我撰写的关于在已有 Apache 站点服务器上运行此类设置的指南是我在这里最受欢迎的帖子之一——这显然表明许多其他人也对在包含其他站点的论坛上运行 Discourse 感兴趣)。

1 个赞

问题已解决……不知何故,防火墙开始阻止 Docker 流量!:man_facepalming:

感谢 @fitzy 以及各位的协助与坚持。

编辑:经进一步排查,服务器因 POP3 登录失败而开始阻止该容器的 IP。此论坛目前处于只读模式,在启用只读模式时,我已从服务器中移除了该邮箱账号,同时也以为已在 Discourse 设置中关闭了“通过 POP3 轮询邮件回复”选项——但该选项仍显示为开启状态。因此,要么是我当时并未执行该操作,要么是我确实执行了,但在某次更新过程中或与之相关时被重新开启。

4 个赞