カットオーバーフェーズのための単一サイトの複数のホスト名

複数のホスト名を設定することは(マルチサイトは可能ですが)サポートされていないことは承知していますが、少なくともこのイシューにはそのように書かれています:How can I use multiple hostnames - support - Discourse Meta

しかし、それはまだそうなのですか?リダイレクトは私のケースでは役に立ちません(そして、単純で一時的なユースケースのために派手なリバースプロキシのリライトをしたくありません):私のケースでは、既存のサーバーと並行して新しいディスコースサーバーをインストールし、新しい名前でこのサーバーのステージングビューを持たせたいと考えています。しかし、サーバーは公式の名前も受け入れる必要があります(DNSでの切り替え時や、管理者が /etc/hosts エイリアスを使用する場合)。これはステージングフェーズを大幅に改善するでしょう。

現在、主な問題はCSPの絶対URLであり、これが機能しない原因となっています(ただし、プロトコルはすでにチェックしているので、許可されたホストのリストからホスト名をチェックするように拡張できるはずです)。では、これは利用可能なのでしょうか…その間?

ちなみに、私のケースではHTTPでテストしていますが、複数の証明書を要求するためのLet’s Encryptの設定はすでにここでカバーされていると思うので、後でそれを行うことができるでしょう。(正しい公式エイリアスで利用可能になるまで機能しません)

ちなみに、アプリコンテナを別のDISCOURSE_HOSTNAMEで再構築しても機能しないことに気づきました。DBのどこかに原因があると思われます(ただし、管理者設定では変更できません)。

そのため、このようなシナリオでは、承認済みホストのリストを用意することが重要になります。

ホスト名を変更するためのトピックがあります。ドメイン名を変更するか、Discourseの名前を変更する

複数の名前を解決させ、Discourseが正しい名前にリダイレクトするようにしたい場合は、httpはすべて設定済みです。httpsの場合は、すべてのドメインの証明書を取得する必要があります。複数のドメインでLet’s Encryptを設定するがお役に立つはずです。

サイトがリダイレクトしないようにしたい場合は、nginxの設定を変更してリダイレクトしないようにすることができます。ただし、その方法を説明することはできません。

ホスト名の変更トピックは、私にとって信頼性がありません(たとえば、リマップとリベイクを行っても、ウェルカム投稿のTwitter絵文字が間違ったサーバーを指します)- その理由を調査していません(わかり次第お知らせします)。少なくとも、簡単ではありません。

私のユースケースのリダイレクトは、古いサーバーにリダイレクトされるため機能しません。

nginx構成は変更する必要はありません。ホスト名を認識していないからです。しかし、問題はアプリの方にあり、たとえばCSPヘッダーには完全なURLが含まれています(なぜかは不明です)。