كيف يمكنني تحديث nginx config مباشرة في discourse/docker ..؟

قد تجد تقنية مشابهة لتعديل الإعدادات في هذه النصيحة القديمة تعمل معك:

(مأخوذ من إصدار سابق من منشور الويكي هذا: Set up Let’s Encrypt with multiple domains / redirects)

"الأمر بسيط جدًا حقًا، أضف شيئًا مثل ما يلي إلى قسم الخطافات (hooks) في ملف app.yml الخاص بك:

الخطوة 2 - discourse.conf

بالإضافة إلى الخطوة 1، هناك تغيير مطلوب لـ nginx لإعادة توجيه http إلى https بشكل صحيح لأي شيء بخلاف DISCOURSE_HOSTNAME

    - replace:
        filename: "/etc/nginx/conf.d/discourse.conf"
        from: /return 301 https.+/
        to: |
          return 301 https://$host$request_uri;

نحتاج أيضًا إلى إزالة إعادة الكتابة الإضافية التي يضيفها web.ssl.template.yml لأنها تفرض DISCOURSE_HOSTNAME فقط والآن لدينا نطاقات أخرى!

    - replace:
        filename: "/etc/nginx/conf.d/discourse.conf"
        from: /gzip on;[^\\}]+\\}/m
        to: |
          gzip on;
          add_header Strict-Transport-Security 'max-age=31536000'; # تذكر الشهادة لمدة عام وتصل تلقائيًا إلى HTTPS لهذا النطاق
```"