حل مشكلة خطأ 503 First Byte Timeout
قد تواجه خطأ 503 بسبب مهلة البايت الأول الناتجة عن عطل مؤقت من جانب العميل. أما من جانب الخادم، فقد يحدث هذا الخطأ بسبب تجاوز حد المهلة أو بسبب تعارض مع إضافة خادم.
1. استكشاف الأخطاء الأساسية وإصلاحها
ابدأ ببعض الخطوات الأساسية.
- إعادة التحميل: من جانب العميل، قم بإجراء إعادة تحميل قسرية للموقع في متصفحك بالضغط على Ctrl + F5 عدة مرات.
- إعادة التشغيل: أوقف تشغيل نظامك ومعدات الشبكة. من جانب الخادم، أعد تشغيل الخادم إذا أمكن.
- التحديث: تأكد من أن جميع الأنظمة والبرامج ذات الصلة محدثة بأحدث التصحيحات المطبقة.
- حالة خدمة الخادم: تحقق من حالة التقنية الخلفية التي تستخدمها. على سبيل المثال، تأكد من أن خدمات Firebase تعمل.
2. أشياء يمكن تجربتها من جانب العميل
على الرغم من أن الخطأ 503 عادة ما يكون مشكلة من جانب الخادم، إلا أن جهاز العميل قد يعرض هذا الخطأ بسبب طلب غير صحيح من جانب العميل. دعنا نجرب الخطوات التالية للتأكد من أن هذا ليس هو الحال:
جرب الموقع في متصفح آخر
- افتح متصفحًا مختلفًا وانتقل إلى الموقع الذي به مشكلة. إذا ظهرت مشكلات في متصفح يستند إلى Chromium، فحاول استخدام Firefox، أو العكس.
- حدد ما إذا كان الموقع يتم تحميله بشكل صحيح دون خطأ البايت الأول. إذا كان الأمر كذلك، فامسح ذاكرة التخزين المؤقت وملفات تعريف الارتباط في المتصفح الأصلي.
استخدم شبكة أخرى أو جرب شبكة VPN
- افصل الاتصال عن الشبكة الحالية، أعد تشغيل نظامك، ثم اتصل بشبكة مختلفة مثل نقطة اتصال هاتف محمول.
- افتح متصفح ويب وتحقق مما إذا كان الموقع الإلكتروني الذي به مشكلة يتم تحميله دون أخطاء.
- إذا استمرت المشكلة، ففكر في تثبيت واستخدام خدمة VPN موثوقة.
- اتصل بشبكة VPN واختبر الموقع مرة أخرى في متصفحك.
زيارة الإصدار المستقر للموقع الإلكتروني
تحتوي بعض المواقع الإلكترونية على إصدارات ألفا أو بيتا تُستخدم للاختبار. قد تكون هذه الإصدارات غير مستقرة، مما يؤدي إلى خطأ مهلة البايت الأول. لتجاوز ذلك، حاول الوصول إلى الإصدار المستقر من الموقع الإلكتروني.
ستختلف العملية بناءً على الموقع الإلكتروني وإعدادات المتصفح.
- في Google Chrome، ابحث عن Reddit Settings.
- ادخل إلى صفحة Account Settings على Reddit، ثم مرر لأسفل إلى قسم Beta Tests، وقم بتعطيل خيار Opt Into Beta Tests، ثم أعد تشغيل Chrome.
- إذا لم يحل هذا المشكلة، انتقل إلى عنوان URL الخاص بـ Reddit للتحقق مما إذا كانت المشكلة قد حُلت:
https://www.reddit.com
- إذا استمرت المشكلة، حاول تحميل الموقع باستخدام عنوان URL التجريبي (beta):
https://beta.reddit.com/
التحقق من إجراءات المستخدم الخاصة بك
قد تتلقى الخطأ 503 إذا حاولت تنفيذ إجراء لا يسمح به الخادم. على سبيل المثال، إذا كان الموقع الإلكتروني يسمح فقط بتحميل صور JPEG، فإن محاولة تحميل ملف PNG قد تؤدي إلى ظهور خطأ مهلة البايت الأول. الحل هنا مباشر: قم بتحميل صورة JPEG. بناءً على حالتك، قد تحتاج إلى التحقيق بشكل أكبر لتحديد إجراءات المستخدم التي قد تسبب الخطأ.
3. جانب الخادم
إذا واجه المستخدمون خطأ مهلة البايت الأول 503 عند محاولة الوصول إلى موقعك الإلكتروني، يمكنك استخدام الطرق التالية:
التحقق من الحدود
أولاً، راجع حدود المهلة الزمنية المحددة لموقعك الإلكتروني أو خادمك. قد تحتاج إلى تعديل هذه القيم، وستعتمد الإجراءات على التقنية أو بنية الخادم المستخدمة.
Varnish
- عدّل ملف php.ini لزيادة الحدود التالية:
memory_limit max_execution_time
- وبالمثل، اضبط ملف pub/.user.ini لزيادة هذه الحدود أيضًا.
- إذا لزم الأمر، عدّل ملف VCL Conf، واضبط قيمة first_byte_timeout على 300 ثانية (بدلاً من القيمة الافتراضية 60 ثانية).
- احفظ التغييرات وأعد اختبار الموقع الإلكتروني.
Fastly
- في واجهة سطر الأوامر، قم بتشغيل:
update fastly/magento2
- انتقل إلى Admin > Stores > Configuration > Advanced > System > Full Page Cache.
- اضبط Admin Path Timeout على 600 (وهو الحد الأقصى الذي تدعمه Fastly) واختر Upload VCL to Fastly.
Magento
- انتقل إلى ملف app/bootstrap.php وأدخل الكود التالي في البداية:
ini_set('memory_limit', -1); ini_set('max_execution_time', 18000); - احفظ تغييراتك وتحقق مما إذا تم حل الخطأ.
التحقق من إضافات الخادم
قد تنبع المشكلة من إضافة خادم (server extension). قد يؤدي تعطيل أو إزالة أي إضافات مشكوك فيها إلى حل المشكلة. من المعروف أن إضافة PCNTL تسبب الخطأ 503. إذا كانت هذه الإضافات أو إضافات مشابهة موجودة، فمن المستحسن تعطيلها أو إزالتها.
اعلم أن تعطيل أو إزالة إضافة قد يؤثر مؤقتًا على وظائف معينة للموقع الإلكتروني. لتحديد السبب الجذري، قد تحتاج إلى إلغاء تنشيط الإضافات واحدة تلو الأخرى.
اختبار رؤوس الاستجابة لـ Nginx
- على جهاز العميل، افتح واجهة سطر الأوامر وقم بتشغيل الأمر التالي. تذكر استبدال ” و ” بالمعلومات المناسبة:
curl -I -H "Host: " http:///request/uri
- افحص رؤوس الاستجابة بحثًا عن أي رسائل خطأ محددة تتعلق بـ Nginx وقم بمعالجة تلك المشكلات وفقًا لذلك.
- إذا لم يتم الحصول على رؤوس استجابة، فكر في تعديل إعدادات Nginx الخاصة بك على النحو التالي:
http { tcp_nopush off; tcp_nodelay on; # إجبار المقبس على إرسال المخزن المؤقت } - إذا تم إرجاع خطأ مهلة البوابة، قم بتعديل الإعدادات إلى:
http { keepalive_timeout 300; proxy_connect_timeout 300; proxy_read_timeout 300; proxy_send_timeout 300; }
تحقق من خطة اشتراكك
إذا كان خادمك غير قادر على الوصول إلى الخدمات الأساسية بسبب قيود الاشتراك، فقد يؤدي ذلك إلى خطأ مهلة البايت الأول. على سبيل المثال، ضمن خطة الدفع Spark، لا تستطيع الخوادم إجراء طلبات HTTP خارجية لخدمات غير تابعة لـ Google.
قد يكون ترقية خطة اشتراكك ضرورية لحل هذه المشكلة، على سبيل المثال، التبديل من خطة Spark إلى خطة Blaze في Firebase.
تحقق من وجود هجوم DDoS
إذا كان خادم الموقع الإلكتروني أو أي من تبعياته الخلفية يتعرض لهجوم DDoS، فقد لا يتمكن الخادم من الحصول على الاستجابات المطلوبة، مما يؤدي إلى خطأ مهلة البايت الأول للمستخدمين.
تحقق من هجمات DDoS المحتملة ضد موقعك الإلكتروني، أو استضافتك، أو أي تقنية خلفية مثل Webflow.
إذا لم ينجح أي من الحلول المقترحة، تواصل مع فريق الدعم الخاص بمزود الاستضافة أو خدمات الواجهة الخلفية لديك. بالإضافة إلى ذلك، تحقق من صفحة حالة موقع الاستضافة لأي مشكلات معروفة.
Comments are closed.