خطأ SSL عند تخصيص nginx: الشهادة غير موثوقة في جميع متصفحات الويب

تغييرت بعض الإعدادات لخدمة أعمال أخرى على نفس خادم discourse.

تظهر بعض المتصفحات إشعار 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)
  # - "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-bundle (الشهادة) والصقه بعد شهادة النطاق الخاص بك في حقل الشهادة (CRT).

نعم، هذا يعني وجود شهادتين في حقل CRT الخاص بك (شهادة النطاق وشهادة ca-bundle)، كما في المثال أدناه:

الشهادة (CRT)

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

(شهادة النطاق)

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

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

(شهادة ca-bundle)

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

الملف هنا: /var/discourse/shared/standalone/letsencrypt/thuvienmuasam.com

إذا نجح هذا، فهذا يعني فقط طريقة تثبيت الشهادة لدى موفر الاستضافة الخاص بك.