مرحباً بالجميع،
بعد تحديث موقع Discourse الخاص بي إلى الإصدار 3.5.0.beta8-dev، أواجه فجأة خطأ 521 “خادم الويب معطل” عند الوصول إلى الموقع عبر Cloudflare. هذا غير متوقع حيث كنت قد قمت بتكوينه مسبقًا وفقًا لـ هذا الدليل ، وكان يعمل بشكل مثالي حتى الآن.
ثم حاولت تغيير وضع تشفير SSL/TLS في Cloudflare من كامل (صارم) إلى مرن ، وتم تحميل الموقع مرة أخرى.
هل يعرف أحد سبب حدوث ذلك بعد التحديث؟
هل هناك شيء جديد في 3.5.0.beta8-dev يمكن أن يؤثر على توافق Cloudflare أو التعامل مع HTTPS؟
أي مساعدة أو اقتراحات ستكون محل تقدير كبير!
شكراً مقدماً!
LotusJeff
(Jeff Cocking)
26 يوليو 2025، 11:08م
2
أنا أعمل بالإصدار 3.5.0.beta8-dev مع SSL كامل (صارم) مع Cloudflare ولا أواجه أي مشاكل.
بعض الأشياء التي يجب التحقق منها:
تحقق من Let’s Encrypt - راجع سجل الترقية الخاص بك وتحقق من إعادة بناء كل شيء بشكل صحيح.
تحقق من أي تغييرات في جدار الحماية الخارجي (توفر DigitalOcean جدران حماية خارجية)
يشير الرمز 521 والتبديل إلى Flexible إلى أن الخادم الخاص بك غير معد بشكل صحيح لـ HTTPS.
شكراً على الاقتراحات! @LotusJeff
لقد تحققت من إعداد SSL الخاص بي، ولا أستخدم Let’s Encrypt، لقد قمت بإنشاء شهادة أصلية من Cloudflare ، ووضعت المفتاح والشهادة هنا:
لقد قمت بإعادة بناء كاملة بعد التحقق. لكنني ما زلت أواجه خطأ 521 عندما يتم تعيين Cloudflare على Full (Strict).
إليك قسم القالب من app.yml الخاص بي كمرجع:
templates:
- "templates/postgres.template.yml"
- "templates/redis.template.yml"
- "templates/web.template.yml"
- "templates/web.ratelimited.template.yml"
## Uncomment these two lines if you wish to add Lets Encrypt (https)
- "templates/web.ssl.template.yml"
# - "templates/web.letsencrypt.ssl.template.yml"
- "templates/cloudflare.template.yml"
expose:
- "80:80" # http
- "443:443" # https
شكراً مرة أخرى على تخصيص الوقت للمساعدة!
LotusJeff
(Jeff Cocking)
27 يوليو 2025، 2:20ص
4
بالعمل من الذاكرة، شهادات Cloudflare لها مدة 90 يومًا. سيتطلب هذا منك إنشاء شهادات جديدة كل 3 أشهر. هل تتذكر كم عمر شهاداتك؟
الإعداد الافتراضي هو استخدام Let’s Encrypt. سيقوم النظام بتجديد شهاداتك تلقائيًا. شيء واحد أقل لإدارته يدويًا.
توفر Cloudflare الآن شهادات صالحة لمدة تصل إلى 15 عامًا، ولا تزال شهادتي ضمن الفترة الصالحة.
ومع ذلك، للتأكد، حاولت أيضًا إنشاء شهادة جديدة واستبدلت الشهادة الحالية، لكنني ما زلت أواجه نفس المشكلة.
إذا أردت العودة إلى الإعداد الافتراضي باستخدام Let’s Encrypt،
هل يكفي ببساطة:
إلغاء التعليق على هذا السطر في app.yml:
- "templates/web.letsencrypt.ssl.template.yml"
وتعيين وضع SSL الخاص بـ Cloudflare على Full؟
LotusJeff
(Jeff Cocking)
27 يوليو 2025، 3:07ص
6
لم أقم أبدًا بالانتقال من الشهادات الخاصة إلى Let’s Encrypt مع Discourse، ومع أخذ ذلك في الاعتبار…
ضمن app.yml، ستحتاج إلى إلغاء التعليق في مكانين:
سطر القالب لـ - "templates/web.letsencrypt.ssl.template.yml"
البريد الإلكتروني لحساب Let’s Encrypt:
## إذا أضفت قالب Let's Encrypt، قم بإلغاء التعليق أدناه للحصول على شهادة SSL مجانية
LETSENCRYPT_ACCOUNT_EMAIL: <أضف عنوان بريدك الإلكتروني هنا>
إذا أجريت أي تغييرات يدوية أخرى على القوالب لشهادات SSL مخصصة، فستحتاج إلى التراجع عنها إلى الإعدادات القياسية.
يقع مكون Let’s Encrypt في نهاية عملية إعادة بناء التطبيق. راقبه لترى ما إذا كنت تتلقى أي رموز خطأ.
إعجاب واحد (1)
system
(system)
تم إغلاقه في
26 أغسطس 2025، 3:08ص
7
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.