升级到最新版本失败 8/21/25

没错。你是在容器内部编辑那个文件吗?构建一个新容器会创建一个新容器。它不是在重写那个文件,而是重写所有文件。

你可以在 app.yml 中添加内容,以便在文件被重写后进行修改。

你对那个文件做了什么修改?为什么?

哦。等等。

你没有回答这个问题,但我认为答案是肯定的。

它强制了站点,因为你几乎从不希望你的站点可以通过多个主机名访问。

所以你需要向你的 app.yml 添加一些代码来撤销这一点。

很久以前,我在 Setup Multisite Configuration with Let's Encrypt and no Reverse Proxy 中有一个解决方案。

所以你需要在一个 exec 中添加一个 sed,或者使用一些 replace 语句来删除或修改那部分。你可能仍然需要遵循那个主题中的内容(我认为它仍然有效)来获得多个 你现在可以使用 DISCOURSE_HOSTNAME_ALIASES: www.domain.com,otherdomain.org,www.otherdomain.org 来为额外的hostname获取证书。

我想最聪明的解决方案可能是设法将其他主机名别名添加到那个 if ($http_host != 代码中。我现在没有任何这样设置的站点,所以我不太可能花时间去弄清楚它是否好玩。

但是,是的,web ssl template 有这个:

        if (\\$http_host != ${DISCOURSE_HOSTNAME}) {
          rewrite (.*) https://${DISCOURSE_HOSTNAME}\\$1 permanent;
        }

所以你可以删除它,或者找到一种方法让它也检查你的其他主机名。