فشل Discourse في تجديد الشهادة

هذا ليس صحيحًا.

  1. الروابط التي أرفقتها في التعليق أعلاه كانت من git blame. إليك أحدث إصدار للملف (السطر ذو الصلة مرتبط): discourse_docker/templates/web.ssl.template.yml at 247c71a1e45d32b0b814a8e9d5fdaa4faaf727b9 · discourse/discourse_docker · GitHub
  2. كان تثبيت موقع صديقي الجديد منذ أسبوع. يقرأ السطر 37 من القالب أعلاه: return 301 https://${DISCOURSE_HOSTNAME}$request_uri; ولكن في حاوية Discourse Docker، يقرأ كل من ملفه (وملفي) /etc/nginx/conf.d/outlets/before-server/20-redirect-http-to-https.conf ما يلي: return 301 https://<عنوان_موقع_المنتدى_الخاص_بك>؛ لاحظ كيف تم تجريد $request_uri. هناك شيء ما يتسبب في اختفائه! (لا أعرف ما هو).
  3. أجريت تجديدًا قسريًا محاكى هذا الصباح كجزء من تحقيقي. لقد فشل. ثم قمت بتغيير /etc/nginx/conf.d/outlets/before-server/20-redirect-http-to-https.conf. لقد نجح!

هذا جيد في الواقع؛ سأقوم فقط بتعديل 20-redirect-http-to-https.conf يدويًا في كل مرة أقوم فيها بتحديث Discourse. بالنسبة لأولئك الذين يصادفون هذا التعليق، فإن الأمر الذي يجب تشغيله هو:

cat > /etc/nginx/conf.d/outlets/before-server/20-redirect-http-to-https.conf << 'EOF'
server {
  listen 80;
  listen [::]:80;

  location ~ /.well-known {
    root /var/www/discourse/public;
    allow all;
  }

  location / {
    return 301 https://<عنوان_منتدىك_هنا>$request_uri;
  }
}
EOF

لست متأكدًا تمامًا مما يسبب هذا الفشل، ولكني أعرف أن تعديل ملف التكوين أعلاه يصلحه. ولكني قمت أيضًا بتعديل الإشعارات حتى لا تفشل تجديدات letsencrypt بصمت بعد الآن - حتى أتمكن من الحصول على بعض التحذير المسبق. اعتقدت أنك قد ترغب في معرفة ذلك!

4 إعجابات