markwill
(Mark Williams)
1
Discourse の Docker ベースの新規インストールにおいて、ポート 80 がいつ公開されるのかについて少し混乱しています。説明させてください。
./discourse-setup を実行すると、初期設定の質問(ホスト名、メールアドレスなど)は、コンテナが作成される前、つまり Discourse がポート 80 を公開する前に提示されるものと想定しています。この認識で合っていますか?
もしそうだとすれば、ホスト名を入力する際に少しジレンマが生じるのではないでしょうか?
私は A レコードを作成済みで、ホスト名経由で ping が通ることを確認しています。しかし、ポート 80 はまだ開いていません。その理由はおそらく、コンテナがまだ作成されていないからだと思っています。
しかし、もしその通りだとすれば、ホスト名の初期検証はどのように機能するのでしょうか?検証がコンテナ作成前に行われるのであれば、検証自体が成立しないはずです。
明らかに私の前提に誤りがあるようですので、どなたかこの混乱を解消していただけませんか?
よろしくお願いいたします。
pfaffman
(Jay Pfaffman)
2
discourse-setupはテスト用にポートを開くためにncを実行します。
ncがインストールされていないOSを実行している場合、そのテストはそれによって失敗します。欠落しているncが問題かどうかを確認するか、あるいは自分が何をしているか分かっていると仮定して、単に動作するのを待つこともできます。
markwill
(Mark Williams)
3
ああ、わかりました。
自分が何をしているか知っているつもりで進めるのは、一般的に良い選択ではないことが証明されています!でも、今はその警告を無視して進めています。
nc がポート 80 を公開できるようにするはずだと思い込んでいるので(まだファイアウォールは設定していませんが)、やはり問題にぶつかるかもしれません。それは後で対処します。
改めてありがとうございます。
pfaffman
(Jay Pfaffman)
4
はい、だからこそそのテストが行われるのです。ただし、それは大半の人が大半の時間に機能するだけです。
コマンドラインで nc と入力して command not found というエラーが表示された場合、そのテストが破損していると判断できます(ただし、ドメイン名がサーバーに解決され、ポートがアクセス可能であるという意味ではありません)。
markwill
(Mark Williams)
5
最初のサーバーをセットアップした際に同じ問題に遭遇しました。不愉快なことに、数時間後に問題が自然に解決しました。そのような問題は通常、DNS レプリケーションの問題を示唆しますが、私は CloudFlare DNS(低 TTL)を使用しており、ホスト名を通じて ping を通すことも問題ありません。
Docker のインストールは正常に完了し、nc も利用可能です。
docker ps は、ポート 80 と 443 の両方がコンテナに転送されていることを示しています。
sof -i -P -n は、docker-pr が両方のポートでリスニングしていることも報告しています。
なぜこの問題が最初のインストールで発生したのかは結局わかりませんでしたが、再び発生したため、詳細に調査してトラブルシューティングを行います。まだ解決策は見つけていませんが、基本的な配管の問題ではないかと疑っています。
ありがとうございました。
pfaffman
(Jay Pfaffman)
6
DNS 伝播の問題のようです。
オレンジ色のクラウドはオンになっていますか?CloudFlare が DNS のみであれば問題ありませんが、中継として機能している場合、Let’s Encrypt を動作させることができません。それが今回のテストの目的です。
markwill
(Mark Williams)
7
オレンジクラウドがオフになっています。これ以上ジェイさんに手間をかけたくないので、この件については自分で解決します。
DNSレプリケーションの問題ではないと思います。なぜなら、複数のデバイスからホスト名でサイト(WiFiやモバイル回線などを通じて)にアクセスできるからです。解決したら、ここで報告します。