インストール後、Discourse が動作しません

AWS EC2 に公式ランチャーを使用してインストールし、ブートストラップ後、Docker で起動しましたが、ポート80で動作しません。状況は以下の通りです。

[*******]# telnet localhost 80
Trying 127.0.0.1…
Connected to localhost.
Escape character is ‘^]’.
Connection closed by foreign host.

EC2 内の Docker に接続し、nginx ログを確認すると、毎秒以下のようなエラーが記録されています。

cannot load certificate “/shared/ssl/ec2-x-x-x-x.xx-xx.compute.amazonaws.com.cer”: PEM_read_bio_X509_AUX() failed (SSL: error:0909006C:PEM routines:get_name: no start line: Expecting: TRUSTED CERTIFICATE)

コンテナ内の Redis と Postgres のログは正常です。また、/var/www/discourse/log 内のアプリケーションログにも特別な異常は見られませんが、ログ内容が非常に短いようです。

Windows 10 Ubuntu Linux (WSL)で、マウントされたWindows Docker(WSLではネイティブDockerが動作しないため)を使用している状況で、部分的に類似した問題が発生しました。インストールは正常に完了し、イメージのブートストラップ、データベースの更新、その他多くの処理が画面に表示されました。最終的にDockerが起動し(docker psで確認でき、ポートも正しくマッピングされています)が、localhost(設定通り)にアクセスすると、サーバーが応答を返さないため空白の画面が表示されます。localhostのポート80へのTelnet接続も全く行われません(AWS Linuxでは何らかの反応があるものの拒否されるのとは対照的です)。

証明書の設定が正しくありません。代わりに Let’s Encrypt を使用することをお勧めします。コンテナを停止し、app.yml を削除して discourse-setup を再度実行し、Let’s Encrypt のためのメールアドレスを入力してください。