没错。你是在容器内部编辑那个文件吗?构建一个新容器会创建一个新容器。它不是在重写那个文件,而是重写所有文件。
你可以在 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;
}
所以你可以删除它,或者找到一种方法让它也检查你的其他主机名。