في الواقع، تستخدم هذه الإجراءات ما يُعتبر “تثبيتًا قياسيًا” (أي باستخدام دليل Docker الرسمي لـ Discourse)، والذي يتم إعادة نشر Nginx فيه خارج الحاوية.
يبدو الإجراء مخيفًا في البداية، ولكنه ليس كذلك حقًا، يمكنني مساعدتك إذا أردت.
ليست الإجابة التي أردت سماعها، ولكني أقدر الإجابة الواضحة رغم ذلك.
لا أقلق كثيرًا بشأن العملية، بل بشأن ما إذا كان هذا الإعداد سيتطلب أي اعتبارات إضافية عند القيام بأشياء بسيطة في المستقبل مثل تثبيت إضافة جديدة. أم أنه في الغالب شيء بمجرد إعداده لا يتعين علي التفكير فيه مرة أخرى؟
منذ أن أضفت NGINX لهذا في عام 2020، اضطررت إلى تعديل الإعداد مرتين. في كلتا المرتين، كان الأمر يتعلق بتعديل الإعدادات المتعلقة بتحميل الملفات الكبيرة بعد تحديث الحد في Discourse.
عادةً لا يتطلب استخدام NGINX الخارجي لتوفير الصفحة الثابتة والعمل كوكيل عكسي لـ Discourse إجراء تغييرات بمجرد إعداده بشكل صحيح.
لاحظ أن nginx الخارجي يجلب شيئًا آخر قيّمًا إلى جانب صفحة الخطأ الثابتة: التعيين الصحيح لعناوين IP المصدر لمستخدمي IPv6. إذا كان منتداك متاحًا عبر IPv6، ولا تستخدم تكوين nginx الخارجي، فسيظهر كل من يصل إلى موقعك عبر IPv6 على أنه قادم من عنوان محلي 172.x.y.z. هذا لا يساعد عندما تحاول التعامل مع مستخدمي الموقع الضارين مثل مرسلي البريد العشوائي!
إنه نفس الشيء تمامًا لإضافة إضافات جديدة.
أعتقد أنه يسهل التحديث لأنه تعلم أن المستخدمين سيتم إبلاغهم بالصيانة وينتظرون حتى تنتهي.
الشيء الوحيد الذي يمكنني التفكير فيه وتريد التأكد منه هو أن لديك certbot يقوم بتجديد شهاداتك بشكل صحيح. هذا مدمج في التكوين الافتراضي الذي لا يستخدم nginx خارجيًا، ولكن إذا كنت تستخدم nginx خارجيًا، فيجب عليك أيضًا استخدام certbot خارجيًا والتأكد من إعداده لتجديد شهادتك. ولا تتعامل جميع طرق تثبيت certbot مع هذا.
لاحظ أن الوثائق التي سألت عنها تقول:
إذا قمت بتثبيت certbot من مستودع الحزم الخاص بك، فعادةً ما تحدث عمليات التجديد تلقائيًا. بخلاف ذلك، قم بتعيين تذكير لتشغيل letsencrypt renew && systemctl reload nginx.service قبل انتهاء صلاحية شهادتك!
تعيين تذكير ليس طريقة جيدة للقيام بذلك. ستنسى حتمًا، وإذا فاتتك رسالة بريد إلكتروني من letsencrypt تحذرك من انتهاء صلاحية الشهادة، فسيتوقف موقعك عن العمل. لحسن الحظ، هذا سهل الحل.
إذا لم يتم إعداد التجديدات التلقائية، فإليك كيفية القيام بذلك.
قم بإنشاء الملف /etc/systemd/system/certbot.service بالمحتويات التالية:
آه. أفهم. من وجهة نظري، الأمر نفسه تقريبًا باستثناء أنه عليك الانتباه إلى متى تحتاج حاوية التواريخ إلى التحديث، وهو أمر غير متكرر، ولكن عليك الانتباه. وعندما يحدث ذلك، يكون الموقع معطلاً لفترة من الوقت.
هذا صحيح أيضًا. إنها دائمًا مقايضة - المدة التي سيظل فيها المنتدى معطلاً بسبب التحديثات/الترقيات مقابل الوقت الذي تتطلبه صيانة الحاويات المنفصلة (وخاصة عندما أفسد أنا (أو أنا) كل شيء وأبدأ في محاولة العثور على بعض الإصلاحات ويتعطل المنتدى في نفس الوقت )