nginxカスタマイズ時のSSLエラー:証明書がすべてのウェブブラウザで信頼されていません

同じ Discourse サーバーで他の作業を行うために、いくつかの設定を変更しました。

一部のブラウザでは、Web サイトにアクセスすると SSL の通知(白いページ)が表示されます。

ファイル: /var/discourse/containers/app.yml

templates:
  - "templates/postgres.template.yml"
  - "templates/redis.template.yml"
  - "templates/web.template.yml"
  - "templates/web.ratelimited.template.yml"
## Lets Encrypt (https) を追加したい場合は、この 2 行のコメントを外してください
  # - "templates/web.ssl.template.yml"
  # - "templates/web.letsencrypt.ssl.template.yml"
  - "templates/web.socketed.template.yml"

上記のような変更に対して自動 SSL 生成機能は実行されないため、手動で以下のように行っています。

cd /var/discourse
./launcher enter app
"/shared/letsencrypt"/acme.sh --cron --home "/shared/letsencrypt" --force
exit

その後、systemctl restart nginx を実行します。

私の nginx 設定は以下の通りです。

server {
    listen 443 ssl http2;

    ssl on;

    ssl_certificate         /var/discourse/shared/standalone/letsencrypt/thuvienmuasam.com/thuvienmuasam.com.cer;
    ssl_certificate_key     /var/discourse/shared/standalone/letsencrypt/thuvienmuasam.com/thuvienmuasam.com.key;

前回は問題なかったのですが、今回は上記のようなエラーが発生しています。

私の対応は正しいでしょうか?

この質問は約6か月前に投稿されたことを承知しています。もし今も解決策を探しているなら、以下の方法を試してみてください。

  • CAバンドルの内容(証明書)をコピーし、ドメイン証明書の後に証明書(CRT)フィールドに貼り付けてください。

つまり、CRT フィールドにはドメイン証明書と CA バンドル証明書の 2 つの証明書が含まれることになります。例は以下の通りです。

証明書(CRT)

-----BEGIN CERTIFICATE-----

(ドメイン証明書)

-----END CERTIFICATE-----

-----BEGIN CERTIFICATE-----

(CA バンドル証明書)

-----END CERTIFICATE-----

ファイルの場所:/var/discourse/shared/standalone/letsencrypt/thuvienmuasam.com

これで動作する場合は、ホスティングプロバイダーでの証明書のインストール方法がそのようになっているだけです。

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