Discourseのインストールに接続できません

Discourse をベアメタル OVH サーバー (Fedora Server 38 実行中) にクリーンインストールしようとしていますが、インストールは正常に完了したものの、app.yml で指定したホスト名 forums.dogsrv.dev を使用して接続できません。
OVH のエッジファイアウォールは無効、firewalld は無効、iptables は無効、DNS は正常に解決されています。この時点で他に確認すべきことが見当たらず、何かアイデアがあれば教えていただけると幸いです。

/var/discourse/shared/standalone/log/var-log/nginx/production.log を確認してください。DNS またはその他の理由で証明書の発行が妨げられ、Let’s Encrypt によってレート制限された可能性があります。

その場合、1 週間待つか、別のサブドメイン (例: forums の代わりに forum) を使用できます。

discourse-setup を実行しましたか?

「いいね!」 1

不思議なことに、そのフォルダに production.log はありません。しかし、error.log があり、そこにはこのエラーが繰り返し記録されています。

2023/06/02 07:27:34 [emerg] 289163#289163: cannot load certificate "/shared/ssl/forums.dogsrv.dev.cer": PEM_read_bio_X509_AUX() failed (SSL: error:0909006C:PEM routines:get_name:no start line:Expecting: TRUSTED CERTIFICATE)

そして、その証明書ファイルを確認したところ、空でした。

最初に discourse-setup を実行しましたが、常に以下のエラーで失敗しました。

Hostname for your Discourse? [forums.dogsrv.dev]:

Checking your domain name . . .
WARNING: Port 443 of computer does not appear to be accessible using hostname:  forums.dogsrv.dev.
WARNING: Connection to http://forums.dogsrv.dev (port 80) also fails.

これは、.dev TLD がデフォルトで Google の HSTS 事前読み込みリストに含まれているためだと思われたので、app.yml を手動で設定し、./launcher rebuild app を実行したところ、問題なく動作したように見えました。

サブドメインを forum に切り替えてアプリを再構築しましたが、問題は解決せず、以前と同じエラーが発生しています。ただし、forums の代わりに forum となっています。

Dockerの外でファイアウォールにポートを開きましたか?

はい、firewalld は iptables と共に完全に無効になっています。サーバー自体で Apache または Nginx を手動でインストールおよび設定すると、ポート 80 と 443 の両方でトラフィックが許可されていることがわかりますが、HSTS のため、すべての HTTP リクエストで HTTPS リライトを有効にし、機能する SSL 証明書が必要になります。これが現在問題となっている点です。

では、ポート80と443を開いてみてはいかがでしょうか?

「いいね!」 1

まだ着信トラフィックに何か干渉しているように聞こえます。DNSにCloudflareを使用していますか?

いいえ、Googleを使用しています。

Discourse-setup が実行しているテストが失敗している場合は、その原因を突き止める必要があります。Let’s Encrypt が証明書を発行できないことは明らかです。

nginx と Apache のインストール方法がわかっているので、Let’s Encrypt に証明書の発行を試みることができますが、80 または 443 をブロックしていることは明らかです。

「いいね!」 1

問題は、discourse-setup が新しい netcat バージョンで破損していることでした。これは、このプルリクエストで確認できます: https://github.com/discourse/discourse_docker/pull/697

-p フラグを削除すると、discourse-setup はポートで接続を確立できないという誤った報告をしなくなり、正常に完了してアプリを再構築できるようになり、インストールに問題なく接続できるようになりました。

ご協力ありがとうございました。

「いいね!」 1

動作するようになったとのこと、よかったです!再構築で証明書を取得できなかった理由がよくわかりません。再構築を行って discourse-setup ステップをスキップすると思っていたからです。

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.