Discourse を実行するために、Ubuntu Server 18.04 の VM をローカル(ハイパーバイザーホスト経由)でデプロイしようとしました。
問題は、domain.xyz へのトラフィックを x.x.x.x に転送し、ローカルでインストール/作成された証明書を nginx-proxy-manager で使用しようとした際です。
Discourse のインストーラーはポート 443 が開いていることを認識せず、ドメインの真正性を確認するたびに失敗します。エラーメッセージには「443 に到達できないが、80 は到達可能」と表示されます。
自分でテストすると、Chrome でエラー 502 が表示され、Web サーバーがダウンしていることが示されます。これは奇妙です。テスト実行時にファイルを検索しているなどの理由があるのでしょう ¯\_(ツ)_/¯
公式ドキュメントに記載されているように、他のアプリケーションと一緒にホストするための設定オプションを app.yml で手動設定しようとしました。また、./discourse-doctor を使って手動ビルドを試みましたが、これも成功しませんでした。Docker コンテナは起動しますが、Web ブラウザからは何も表示されません(NGINX エラー 502)。
NGINX リバースプロキシの設定に関しては、オプションがあまりありません。すべて GUI ベースで、プロセスが簡素化されています。Bitwarden、NextCloud、Restya などの他のサービスは、ほぼ問題なく動作しましたが、Discourse は非常に敏感なのか、何を試してもうまくいきません。
設定は以下の通りです:
SSL については、Discourse や他のアプリケーションの上に配置された NGINX-Proxy サーバーから適用された証明書を使用しています。
(補足:リバースプロキシサーバーは、Ubuntu 18.04 を実行している別の VM で、複数の NGINX リバースプロキシ設定を管理するためのソリューションである Nginx-Proxy-Manager を実行しています。)
