خطأ 504 gateway timeout هو رمز حالة HTTP، وهو نوع من رموز الاستجابة التي يرسلها الخادم ردًّا على طلب وارد حين يعجز عن إتمامه. من المرجح أنك صادفت هذا الخطأ من قبل أثناء التصفح، وإن كان أقل شيوعًا من أخطاء أخرى في سلسلة 5xx، مثل "500 internal server error" أو "خطأ 502 Bad Gateway". في هذا الدليل، نشرح ما يعنيه هذا الخطأ وكيفية إصلاحه في WordPress.
عندما يزور مستخدم موقعك، يُرسل متصفحه طلبات HTTP إلى خادم الويب WordPress الذي يشغّل الموقع. لكل طلب يصل إلى الخادم، يُرسل الخادم استجابةً تحمل رمز حالة HTTP مع الموارد المطلوبة. لا يرى المستخدم هذه الرموز في العادة، إلا حين يحدث خطأ ما، فيظهر له رمز خطأ يُشير إلى طبيعة المشكلة.
ابدأ التدوين
استضف WordPress بنفسك على أجهزة عالية الأداء، مع تخزين NVMe وزمن استجابة منخفض حول العالم، واختر توزيعة Linux المفضلة لديك.
احصل على WordPress VPSما هو خطأ 504 Gateway Timeout؟
هذا رمز حالة من سلسلة 5xx. تُشير سلسلة "5" إلى أخطاء جانب الخادم، أي أن المشكلة تقع على عاتق المسؤول لحلها. ثمة عدد محدود من رموز الخطأ، ولكل منها حلول مختلفة (على سبيل المثال، راجع دليل الإصلاح السريع لخطأ HTTP رقم 505). كما تعلم، قد يحدث الخطأ في أي نقطة على طول الاتصال: في متصفح المستخدم، أو اتصاله بالإنترنت، أو في أي مرحلة بين الطرفين، أو على خادمك. حين يقع الخطأ خارج نطاق المستخدم، فهو خطأ من جانب الخادم. يظهر هذا الخطأ حين يفشل طلب ما في الاكتمال بسبب سوء التواصل بين عدة خوادم.
قد يظهر هذا الخطأ للمستخدم (أو لك أنت، عند تصفح الإنترنت) بأشكال متعددة، منها:
- 504 Gateway Timeout
- 504 مهلة انتظار البوابة انتهت nginx
- خطأ انتهاء مهلة البوابة
- خطأ HTTP 504
- 504 Gateway Time-out – The server didn't respond in time
- This page isn't working. Domain took too long to respond
- خطأ HTTP 504 – انتهاء مهلة البوابة
- Gateway Timeout (504)
- HTTP 504
- خطأ 504
ولكن، ماذا يعني ذلك؟
ما أسباب خطأ 504؟
يظهر خطأ 504 Gateway Timeout حين لا يتلقى خادمٌ ما استجابةً في الوقت المناسب من خادم آخر يعمل بوصفه بوابةً أو وسيطاً بين المستخدم وموقعك. ببساطة، يعني ذلك أن طلباً أُرسل إلى موقعك، لكن انتهت مهلة الانتظار قبل وصول أي رد.
من أبرز الأسباب الشائعة لهذا الخطأ مشكلات الاتصال، ومنها:
- ضعف الاتصال بالإنترنت من جانب المستخدم، مما يُفضي إلى سوء التواصل وعدم تلقّي أي استجابة.
- مشكلات توافق المتصفح، التي تتسبب مجدداً في سوء الاتصال وانتهاء مهلة الاستجابة.
- إعدادات البروكسي غير الصحيحة، التي تحجب الطلب وتمنعه من الوصول إلى الخادم، فلا تصل أي استجابة.
غير أن المشكلة قد تكون في الواقع على جانب الخادم. إذا كنت تستخدم جهازاً أو خادماً ضعيفاً لاستضافة موقع WordPress الخاص بك، فقد ينفد من الخادم ما يلزمه من موارد للرد على الطلبات في الوقت المناسب، لا سيما في أوقات الذروة. يؤدي ذلك إلى بطء أداء الموقع مما ينتهي بانتهاء مهلة الاستجابة.
في حالة مشابهة، إذا كنت تستخدم الاستضافة المشتركة فيكفي أن يصل موقع واحد أو موقعان من المواقع المستضافة على الخادم المشترك إلى ذروة حركة المرور ليتباطأ كل موقع آخر يعمل على ذلك الخادم. والسبب في ذلك، كما يدل عليه الاسم، في الاستضافة المشتركة تتوزع جميع الموارد على جميع العملاء في آنٍ واحد. وهذا على عكس VPS حيث تحصل على موارد مخصصة لك وحدك. وهذا في الحقيقة هو أبرز سبب للتحول إلى WordPress VPS المتقدمة من Cloudzy بدلاً من الاستضافة المشتركة.
قد يحدث خطأ 504 gateway timeout أيضاً عند وجود خطأ في إعداد جدار الحماية على خادمك. يحدث هذا كثيراً، خاصة عند استخدام شبكة توصيل المحتوى أو CDN لتقديم المحتوى للمستخدم بشكل أسرع. CDN هي شبكة من خوادم البروكسي تقع بين خادم الويب الخاص بك والمستخدم، وتسعى إلى تقديم البيانات الثابتة الأكثر طلباً على خادمك للمستخدم من نقطة أقرب في الشبكة، مما يقلل كلاً من زمن الاستجابة لديه والحمل على خادم الويب الخاص بك. لكن جدار الحماية قد يحجب بعض الطلبات القادمة عبر شبكة CDN تلك، كـ Cloudflare.
من الأسباب الشائعة الأخرى لخطأ 504 خطأ DNS. إذا أعددت إعدادات DNS بشكل غير صحيح، أو كان ثمة خطأ في خادم DNS العام يتعلق بموقعك، فقد لا تصل طلبات المستخدمين إليك لعدم تمكنهم من تحديد موقع خادمك، فينتج عن ذلك خطأ انتهاء المهلة. قد يحدث هذا أيضاً بسبب إعدادات DNS غير الصحيحة لدى المستخدم، أو بسبب خادم البروكسي الخاص به.
ابدأ التدوين
استضف WordPress بنفسك على أجهزة عالية الأداء، مع تخزين NVMe وزمن استجابة منخفض حول العالم، واختر توزيعة Linux المفضلة لديك.
احصل على WordPress VPSكيفية إصلاح خطأ 504 Gateway Timeout
كما أشرنا سابقاً، رغم تصنيف الخطأ 504 ضمن أخطاء جانب الخادم، إلا أن بعض المستخدمين قد يواجهون هذا الخطأ بسبب مشكلات من طرفهم. ما يمكنك فعله عند الإبلاغ عن خطأ 504 على موقعك هو محاولة تتبع السبب المحتمل بدءاً من جانب المستخدم وصولاً إلى جانب الخادم.
قبل الخوض في طرق إصلاح هذا الخطأ على موقع WordPress الخاص بك، تذكر أن بعض هذه الطرق تستلزم إجراء تغييرات على ملفات الخادم وإعداداته، لذا يُنصح بشدة بإنشاء نسخة احتياطية من موقعك ومن كل ما قد تعتزم تغييره.
1. أعد تحميل الصفحة
تأكد من وجود مشكلة فعلية وأن الأمر لا يتعلق بخطأ عابر. أحياناً يكون الخادم محمّلاً بشكل مؤقت، وتحديث الصفحة يحل الأمر. انتظر دقيقتين ثم اضغط زر التحديث، أو استخدم Ctrl+R (في Windows) أو cmd+R (في Mac).

٢. جرّب متصفحاً مختلفاً.
أحياناً تكون المشكلة مرتبطة بالمتصفح الذي تستخدمه. جرّب متصفحاً آخر وتحقق من استمرار الخطأ.
٣. تحقق من مواقع مختلفة.
بينما تنتظر دقيقتين قبل تحديث الصفحة، يمكنك التحقق مما إذا كانت المشكلة من جهازك أم من جانب الخادم. ثمة خدمات متعددة تتيح لك فحص موقعك من مواقع جغرافية مختلفة، منها: هل الموقع معطّل للجميع أم لي فقط؟ or هل هو معطّل الآن؟
إذا كانت المشكلة من جانب المستخدم، فقد يكون السبب في المتصفح أو إعدادات الإنترنت أو جدار الحماية أو البروكسي أو الاتصال بالشبكة. في بعض الأحيان، تتم إعادة تشغيل الجهاز أو أجهزة الشبكة لحل المشكلة.
4. مسح ذاكرة تخزين DNS المؤقتة
قد يكون خطأ 504 gateway timeout ناتجاً عن ذاكرة تخزين DNS المؤقتة التي أصبحت قديمة أو غير صحيحة. مسحها أمر سهل، وإن كانت الطريقة تختلف باختلاف نظام التشغيل.
لمسح جميع سجلات DNS على نظام Windows، افتح موجه الأوامر (cmd) ثم أدخل الأمر التالي واضغط Enter لتنفيذه:
ipconfig /flushdns
بعد تنفيذ الأمر، ستظهر لك نتيجة مشابهة لما في الصورة التالية:

إذا كنت تستخدم نظام Mac OSX، افتح الطرفية (Terminal) وأدخل الأمر التالي لمسح سجلات DNS:
sudo killall -HUP mDNSResponder
إذا كنت تستخدم نظام Linux، افتح نافذة الطرفية وأدخل الأمر التالي:
sudo/etc/init.d/nscd restart
هذه الخطوات تخص مسح DNS من جانب المستخدم. إذا كانت المشكلة من جانب الخادم، فمن المرجح أن هذه الخطوات لن تحلها. حينئذٍ، حان وقت معالجة المشكلة على خادم WordPress.
5. مشكلات DNS
إذا أجريت مؤخراً تغييرات على إعدادات DNS في خادم الويب، فقد تستغرق هذه التغييرات ما يصل إلى ٢٤ ساعة لتنسريان في جميع أنحاء الإنترنت. في هذه الأثناء، قد لا يتمكن بعض المستخدمين من العثور على موقعك أو الاتصال به.
يمكنك تحويل خادم DNS مؤقتاً إلى Google Public DNS للتحقق مما إذا كان رمز الحالة HTTP ناتجاً عن مشكلة في DNS. غير أن هذا الخيار موجّه للمستخدمين ذوي الخبرة التقنية.
ابدأ التدوين
استضف WordPress بنفسك على أجهزة عالية الأداء، مع تخزين NVMe وزمن استجابة منخفض حول العالم، واختر توزيعة Linux المفضلة لديك.
احصل على WordPress VPS6. فحص سجل الأخطاء
قد يظهر خطأ 504 gateway timeout أيضاً بعد إجراء تغييرات أو تحديثات على الموقع. للتحقق من ذلك بسرعة، راجع سجل الأخطاء وحاول تحديد السبب. في موقع WordPress، يمكنك تفعيل تسجيل رسائل الخطأ بإضافة هذه الأسطر إلى ملف wp-config.php:
define( 'WP_DEBUG', true ); define( 'WP_DEBUG_LOG', true ); define( 'WP_DEBUG_DISPLAY', false );
بعد الانتهاء، ستُسجَّل جميع الأحداث في ملف wp-contents/debug.log.

7. تحقق من الإضافات.
من الشائع أن تكون إضافة معطوبة هي سبب خطأ انتهاء مهلة 504. الإضافات والامتدادات القديمة أو غير المتوافقة قد تُحدث مشكلات وأخطاء متعددة في WordPress. في هذه الحالة، قد تكون إضافة تتعلق بالتخزين المؤقت هي المتسببة. المشكلة أنك في الغالب لا تعرف أيها المذنبة.
لمعرفة ما إذا كانت إحدى إضافات WordPress تتسبب في خطأ انتهاء مهلة البوابة 504، عليك تعطيل جميع إضافات WordPress ثم إعادة تفعيلها واحدة تلو الأخرى لتحديد أيها يُسبب مشكلة انتهاء المهلة 504.
Go إلى لوحة تحكم WP، ثم انقر على تبويب الإضافات حدد مربع الاختيار أمام "Plugins" لتحديد جميع الإضافات، ثم من قائمة "bulk action"، اختر Deactivate وانقر Apply.

إذا حلّ تعطيل جميع الإضافات المشكلة، فهذا يعني أن إحداها كانت السبب. ابدأ بإعادة تفعيلها واحدة تلو الأخرى، وتحقق مما إذا كانت المشكلة تعود بعد تفعيل أي منها. حين تحدد الإضافة المتسببة، عطّلها أو احذفها لحل المشكلة، وأعد الإضافات الأخرى إلى حالتها السابقة.
8. تحقق من شبكة توصيل المحتوى (CDN)
إذا كنت تستخدم CDN لتسريع تسليم محتوى موقعك، فتحقق من أن كل شيء يعمل بشكل صحيح على تلك الجهة أيضاً. Cloudflare من أكثر حلول CDN شيوعاً للمواقع الصغيرة والمتوسطة، إذ تعمل بوصفها CDN ونظام حماية سحابية للتخفيف من هجمات DDoS.

تظهر هذه النسخة من خطأ 504 حين يحدث خطأ ما على جانب Cloudflare. يمكنك التواصل مع دعم Cloudflare أو تعطيله بالكامل. إذا اخترت التعطيل، فقد تستغرق التغييرات على سجلات DNS بضع ساعات حتى تصبح سارية.
في المقابل، الأكثر شيوعاً هو ظهور خطأ 504 كما في الصورة أدناه. هذا الوضع يعني أن Cloudflare CDN لا يتلقى رداً من خادم الويب الخاص بك.

9. تحقق من إعدادات جدار الحماية
ضبط جدار الحماية بشكل صحيح له تأثير مباشر على طريقة عمل موقعك واستجابته للطلبات. خاصةً عند استخدام CDN لتقديم المحتوى، إذ تأتي كثير من الطلبات من نفس عقد CDN، مما قد يجعل جدار الحماية يعدّها حركة مرور غير مرغوب فيها ويحجبها.
لإصلاح ذلك، ستحتاج إلى إضافة جميع عناوين IP الخاصة بـ CDN إلى القائمة البيضاء في نظام جدار الحماية بموقعك. عموماً، يمكنك العثور على قائمة بعناوين IP الخاصة بـ CDN على موقعهم الرسمي.
يمكنك إضافة عنوان IP إلى القائمة البيضاء عبر ملف .htaccess على خادمك. اتبع الخطوات التالية للقيام بذلك:
- اتصل بخادم الويب الخاص بك باستخدام عميل FTP مثل FileZilla، ثم انتقل إلى المجلد الجذري الذي يحتوي على ملفات موقعك.
- انقر نقراً مزدوجاً على ملف .htaccess لتنزيل نسخة احتياطية منه.
- ثم انقر بزر الماوس الأيمن على ملف .htaccess على الخادم واختر View/Edit.

انسخ الآن الكود التالي والصقه في الملف:
<RequireAny> Require all granted Require ip 127.0.0.1 </RequireAny>
استبدل العنوان 127.0.0.1 بعنوان IP الذي تريد إضافته إلى القائمة البيضاء. لكل عنوان IP تريد إضافته، انسخ هذا السطر والصقه أسفل السطر السابق، ثم غيّر عنوان IP إلى العنوان المطلوب.
10. تعديل إعدادات الخادم
إذا كنت تستخدم استضافة WordPress VPS لموقعك، فثمة بعض الإجراءات التي يمكنك تجربتها لحل خطأ 504 gateway timeout. تشمل هذه الإجراءات تعديل بعض إعدادات الخادم وزيادة حدود موارد معينة. لكن كما هو معتاد، تذكر دائماً إنشاء نسخة احتياطية كاملة أولاً.
تتطلب هذه الطريقة امتلاك صلاحية وصول SSH إلى VPS. إذا كان خادم الويب المشغَّل على VPS هو Apache، فيمكنك الاتصال عبر SSH والدخول إلى ملف httpd.conf لزيادة قيمة المهلة الافتراضية. أضف الكود التالي إلى الملف:
# Timeout: The number of seconds before receives and sends time out. Timeout 600
Nginx هو محرك ويب آخر شائع الاستخدام. إذا كنت تستخدمه، فيمكنك تعديل ملف timeout.conf الموجود في المسار /etc/nginx/conf.d/timeout.conf
أضف الكود التالي إلى الملف:
proxy_connect_timeout 600; proxy_send_timeout 600; proxy_read_timeout 600; send_timeout 600;
11. ترقية خطة الاستضافة
إذا كنت تدير موقع WordPress ناجحاً يشهد تزايداً مستمراً في الزيارات، فمن الطبيعي أن تنفد موارد الخادم في مرحلة ما، مما قد يؤدي إلى ظهور أخطاء 504 timeout للمستخدمين. يُنصح بترقية خطة الاستضافة بما يتناسب مع حجم الزيارات على موقعك.
ابدأ التدوين
استضف WordPress بنفسك على أجهزة عالية الأداء، مع تخزين NVMe وزمن استجابة منخفض حول العالم، واختر توزيعة Linux المفضلة لديك.
احصل على WordPress VPSخلاصة
خطأ 504 Gateway Timeout هو خطأ من جانب الخادم، لكنه في جوهره يعني أن المستخدم لا يستطيع الوصول إلى الخادم أو تلقي رد منه. قد يكون سبب ذلك في أي مكان، من متصفح المستخدم أو اتصاله بالإنترنت وصولاً إلى خادم موقعك.
لتحديد المشكلة وحلها، تحقق من الأمر خطوة بخطوة حتى تعرف ما الذي يُصلحها، ثم نفذ الإصلاح الدائم. إذا لم تُجدِ أيٌّ من هذه الخطوات نفعاً في حل خطأ 504 على موقعك، فالأفضل التواصل مع فريق دعم شركة الاستضافة وطلب مساعدتهم.