こんにちは、
Lets Encrypt テンプレートを有効化し、Discourse を再構築した後、何も動作しなくなりました。
NGINX から以下のような不可解なエラーが表示されます:
奇妙なことに、/ETC 内に nginx ディレクトリが存在しません。
現在有効なテンプレートは以下の通りです:
アプリが再構築された際の設定は以下の通りです:
この問題の原因は何でしょうか?
証明書の発行先ホスト名は discourse.itas-karlsruhe.de であるべきだと考えています。
アプリが実際に実行されているか、ランチャーで確認済みです。はい、実行されています。
I.
Benjamin_D
(Benjamin Decotte)
2
現在、ホームディレクトリ (~) にいるようです。cd etc と入力すると、cd /etc/nginx とすれば機能します。
これは標準的な Docker インストールの場合、まずアプリにアクセスする必要があります。
cd /var/discourse
./launcher enter app
これが成功すれば、sed を使って設定ファイルの 46 行目を出力できます。
sed -n '46p' /etc/nginx/conf.d/discourse.conf
あなたと同じテンプレートを使用し、その設定ファイルに特定の修正を加えていない場合、私は以下のような出力を確認します。
return 301 https://discourse.softpress.com$request_uri;
ありがとうございます。
以下が見つかりました:

ご覧の通り、「Discourse hostname」フィールドは app.yml に記入されています:
何らかの理由でホスト名の置換に失敗しているようですが、その原因がわかりません。Discourse を再構築する際、以下のコマンドを実行されましたか?
cd /var/discourse
./launcher rebuild app
あなたと私の環境の違いとして確認できるのは、ドメイン名にハイフンが使用されている点のみですが、それが問題を引き起こすとは非常に考えにくいです。
pfaffman
(Jay Pfaffman)
8
何度も再構築を試したため、Let’s Encrypt のレート制限に達してしまいました。
サーバーには nginx は存在せず、Discourse コンテナ内部に配置されています。そのため、見つけることができないのです。
つまり、再構築によって問題を解決されたのですね?
その投稿を解決済みにマークすることをお勧めします。
ログにはエラーやそのようなものは一切見当たりませんでした(スクリーンショット参照)。
ビルドプロセスは問題なさそうです。
現在、最終ドメインの申請を行いました。これを使ってアプリを再構築します。
Let’s Encrypt 固有の設定をすべて削除し、VM の元のホスト名を使用することで、すべてが正常に動作するようになりました。これらの設定に何が問題があるのか分かりません。
こんにちは、Simon さん、
再度ビルドし直しましたが、証明書に誤った名前で発行されていることがわかりました。
app.yml の設定が誤っている可能性はありますか?
app.txt (4,1 KB)
ご指摘の意味はどのようなことでしょうか?
I
IAmGav
(Gavin Perch)
11
51 行目
DISCOURSE_HOSTNAME: deinbalkonnetz.de
これはあなたの設定ファイルではありません。どこから入手したのですか?
???
それは私の設定ファイルです… このドメインを当社の VM にルーティングしており、このサーバーで Discourse を設定しようとしています…
IAmGav
(Gavin Perch)
13
次に、設定内の deinbalkonnetz.de が記載されている箇所をすべて変更してください。
その後、アプリを再ビルドする必要があります。
「至る所」とはどういう意味ですか?
ホスト名は51行目でのみ使用されています…
app.yml 以外の設定ファイルは知りません。
Jammy さん、ありがとうございます。
これらは疑いの余地なく重要な点です。
問題は、私のホスト名が全く使用されていないことです。
DISCOURSE_HOSTNAME: ‘deinbalkonnetz.de’
変数名ではなく、証明書には実際のホスト名「deinbalkonnetz.de」が使用されるべきだと考えます。
letsencrypt 証明書に http://deinbalkonnetz.de/ を代替案として 2 番目のドメインとして追加することは可能ですか?