以下の点を確認してください:
templates(app.yml内)にあるすべての SSL テンプレートをコメントアウトしてください。Let’s Encrypt を使用している場合は、以下の 2 つが存在します:
# - "templates/web.ssl.template.yml"
# - "templates/web.letsencrypt.ssl.template.yml"
- ソケットテンプレートを追加してください:
- "templates/web.socketed.template.yml"
- 公開されているすべてのポートをコメントアウトしてください:
# - "80:80" # http
# - "443:443" # https
(または、8080:80 や 8443:443 などの他のポートを公開し、次のステップでソケットを使用する代わりに、localhost:80 および/または localhost:443 を指すアップストリームにリダイレクトすることも可能です)
- 以下が設定されている必要があります:
proxy_pass http://unix:/var/discourse/shared/standalone/nginx.http.sock;
ソケットの末尾にコロン : を追加する必要があると思います:
proxy_pass http://unix:/var/discourse/shared/standalone/nginx.http.sock:;
- SSL 証明書ファイルは
/var/discourse/shared/standalone/ssl/に存在している必要があります。それらはありますか?ドメインa1rp.xyzをすでに所有しており、Let’s Encrypt のサイトから SSL 証明書の生成方法について読んでいると想定しています。また、デフォルトのインストールでは Discourse が証明書の更新を自動で行いますが、今回のケースでは手動で更新を行う必要があります(例えば cron ジョブを使用するなど)。そうしないと、証明書は 3 ヶ月後に期限切れになります。
参照: