LetsEncrypt の検証でエラーが発生しました

セルフホスト型Docker環境をセットアップし、チュートリアルに従ってLet’s Encryptを使用してHTTPSを有効にしました。

以下のステップで常に失敗します。HTTPSなしでのセットアップは正常に機能し、フォーラムはHTTPで公開されています。

root@discoursetest3-app:/shared/letsencrypt# cat acme.sh.log

[Mon 11 Apr 2022 02:56:35 PM UTC] discourse-test3.docentric.com:Verify error:Fetching http://discourse-test3.docentric.com/.well-known/acme-challenge/iEFjgyseuVL1IzIrTjmfhwv0HqV7EgUmQUVhy1nmnCE: Timeout after connect (your server may be slow or overloaded)

ACMEチャレンジにアクセスできないようです。

そのガイドの最初の文を読みましたか?標準的なインストールを行う場合は、そのガイドに従う必要はないと書かれています。

これは最近の標準的なインストールですか? discourse-setup を実行しましたか?

ポート80(そしておそらくポート443も)が着信接続に対してブロックされている可能性があります。

「いいね!」 1

不思議なことに、最初のものは機能しますが、2番目のものは機能しません。

○ → curl http://discourse-test3.docentric.com/srv/status
ok

○ → timeout -v 5s curl http://discourse-test3.docentric.com/.well-known/acme-challenge/iEFjgyseuVL1IzIrTjmfhwv0HqV7EgUmQUVhy1nmnCE
timeout: sending signal TERM to command ‘curl’

標準的なセットアップであれば、何が原因なのかわかりません。

「いいね!」 1

HTTPSがない古いテスト環境で、HTTPSを有効にしたいと考えています。
app.ymlを直接編集したり、discourse-setupを実行したりしましたが、どちらの場合も同じエラーが発生します。
Discourseを削除(コンテナとファイル)して最初からインストールし直そうとしましたが、結果は同じでした。

ポート80が利用できないように見えますが、app.ymlの以下の2行をコメントアウトすると、フォーラムはHTTPで問題なく動作します。

  • “templates/web.ssl.template.yml”
  • “templates/web.letsencrypt.ssl.template.yml”

ディスク上のどこに、http://discourse-test3.docentric.com/.well-known/acme-challenge/iEFjgyseuVL1IzIrTjmfhwv0HqV7EgUmQUVhy1nmnCEのような静的ファイルがありますか?

ACMEプロトコルが会社のファイアウォールでブロックされていたことが判明しました。これで動作します :slight_smile:

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