反向代理和 HTTPS 背后的讨论

你好 @Grunskin

我们理解你的沮丧。然而,当你设置:

force_https = true

这本身并不是 问题。正如 @pfaffman 在上面提到的(至少两次,他是 Meta 社区顶级的迁移专家之一):

你“必须”保持 force_https = true,然后找出真正的 问题。

如果我是你,基于我所读到的内容:

首先,我会将反向代理设置在运行 Discourse 容器(或容器组)的同一台服务器上,以简化问题,这仅用于测试和故障排查。确保这个简单的测试用例能完美运行。然后,当它在同一主机上正常工作后,关闭该测试用的反向代理,再迁移到你期望的双服务器架构。

这是一个有趣的问题。只要你保持 force_https = true,并采用结构化、循序渐进的故障排查方法,你就能解决这个问题。这类问题不过是等待被破解的 IT 谜题。

你可以做到的。


附言:如果你对这个谜题感到沮丧或厌倦,也可以向 @pfaffman 或其他经验丰富的 Meta 社区成员支付一些费用,请他们帮你跨过这个障碍,迎接更广阔的前景。


备注:我们在同一台服务器上配置 Apache2 作为通过 Unix 域套接字通信的反向代理时,完全没有遇到任何问题。很抱歉,我目前没有个人时间去搭建双服务器环境,并让 Apache2 反向代理方案在两台不同的服务器上运行成功。我们正忙于最终的迁移任务,清理那些“疯狂的 BBCode 滥用”导致的 Markdown 问题,这比我们最初预想的要花费更多时间。