تثبيت إصدار Nginx

ليس تمامًا Contribute > Bug (مساهمة:خطأ) لكنه غير واضح في أي فئة أخرى يجب أن يُدرج. الأمر مُشكّل ولا يُعدّ Contribute > Feature (مساهمة:ميزة). ربما يدخل تحت Support (دعم)، لكنني متأكد إلى حد كبير من أنني أعرف ما أفعله هنا.

انظر أيضًا: منشور مشابه من قبل 3 سنوات Dockerfile in official install instructions uses unsupported version of Nginx

أظهرت عملية اختبار اختراق روتينية أُجريت هذا الأسبوع أن إصدار NGINX المستخدم قد وصل إلى نهاية دورة حياته (EOL). لم يكن من الممكن استغلاله، لكنه وُصم كحاجة إلى الإصلاح في أقرب وقت ممكن.

محاولة تحديث Discourse عبر الأمر git pull لم تحل المشكلة بعد، لأنه رغم تحديث مستودع Discourse Docker، فإن القوالب تثبت الصورة الأساسية على الإصدار السابق (discourse/base:2.0.20260109-0020).

بعض الأسئلة:

  • لماذا كان الإصدار المثبت من NGINX قديمًا لدرجة أنه وصل إلى نهاية دورة حياته في المقام الأول؟ هل هناك مبرر لا أعرفه؟

  • لماذا تم اختيار الإصدار الجديد 1.28.1 وليس 1.29.4 (الأحدث اعتبارًا من 2026.01.27) - مرة أخرى، هل هناك مبرر؟

بشكل عام، يبدو أن Discourse حريص جدًا على إبقاء جميع المستخدمين على إصدار حديث (وهو أمر منطقي)، أي ما كان يُسمى tests-passed.

كيف يمكنني تحديث NGINX (من دون حيل محلية قدر الإمكان)؟

إعجاب واحد (1)

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

1.28.1 هو أحدث إصدار “مستقر”، لذلك اخترنا هذا. 1.29.x هو الإصدار “الرئيسي” ذو التغيير الأعلى، وليس لدينا حاليًا حاجة لأي من تلك الميزات الجديدة.

شكرًا لإثارة هذه النقطة. لقد أكملنا الآن تحديث العلامة في القوالب، لذا فإن تشغيل ./launcher rebuild app مرة أخرى يجب أن يمنحك إصدار nginx الجديد.

6 إعجابات

لا مشكلة وشكراً على الرد السريع @david!

للأسف، لا يبدو أن هذا يعمل بعد. أدى تشغيل git pull، ثم ./launcher rebuild app إلى سحب صورة جديدة (discourse/base:2.0.20260116-2039) ولكن يبدو أن الصورة لا تزال تتضمن nginx 1.26.3:

root@server:/var/discourse# docker exec -it app nginx -v
nginx version: nginx/1.26.3

أنا أتحقق من جهتي تحسباً لكونها مشكلة تخزين مؤقت غريبة للحاوية، ولكن على حد علمي، فإن صورة الأساس 20260116-2039 تحتوي ببساطة على NGINX 1.26.3 حتى الآن.

إعجاب واحد (1)

مثير للاهتمام، أرى الشيء نفسه. بينما قمنا بتحديث NGINX في الإعدادات، يبدو أن تحديث الصورة كان يهدف تحديدًا إلى تحديث Redis، وليس NGINX.

سأتحقق مع الفريق وأرى ما إذا كان بالإمكان تثبيت إصدار صورة أحدث.

4 إعجابات

أي تحديث بخصوص مشكلة تثبيت إصدار NGINX؟ لقد رأيت إصدار 2026.1.0-latest ولكن على حد علمي، هذا لا يرفع مستوى الصورة الأساسية.

لقد قمنا بتحديث الصورة مرة أخرى: Bump base image to `20260129-0023` (#1035) · discourse/discourse_docker@068819b · GitHub

لذا يجب أن يمنحك إعادة البناء التالية NGINX 1.28.1

3 إعجابات

شكرًا لك @david، هذا يعمل الآن.

إعجاب واحد (1)