وقتی وب‌سایت شما با ارور 504 (Gateway Timeout) مواجه می‌شود، احتمالاً اولین واکنش شما نگرانی بابت از دست دادن کاربران و افت رتبه گوگل است. این خطا یکی از رایج‌ترین مشکلات در سرور است که به دلیل عدم پاسخگویی به‌موقع سرور اصلی یا مشکلات ارتباطی میان گیت‌وی (Gateway) و سرور بک‌اند رخ می‌دهد.
💡 و اما ارور 504 به چه معنی است؟
  • ارور 504 یعنی سرور پاسخ نداده و ارتباط بین گیت‌وی و سرور بک‌اند قطع یا کند شده است.
در این مقاله قصد داریم به صورت جامع و گام به گام راهکارهای رفع مشکل 504 سایت را بررسی کنیم. چه شما یک مدیر وب‌سایت وردپرسی باشید، چه یک متخصص سرور، این راهنما به شما کمک می‌کند با شناخت دقیق علت خطای ۵۰۴، در سریع‌ترین زمان وب‌سایت خود را آنلاین کنید.

تفاوت ارور 504 با خطاهای مشابه 502 و 503

یکی از مشکلات متداول کاربران این است که ارور 504 را با سایر خطاهای 5xx اشتباه می‌گیرند. در حالی‌که هر کدام معنای مشخصی دارند و دانستن تفاوت‌شان باعث می‌شود منبع مشکل سریع‌تر شناسایی شود.
  • 502 Bad Gateway: زمانی رخ می‌دهد که سرور پروکسی یا گیت‌وی پاسخی نامعتبر از سرور اصلی دریافت می‌کند.
  • 503 Service Unavailable: نشان‌دهنده غیرفعال بودن یا مشغول بودن بیش‌ازحد سرور است.
  • 504 Gateway Timeout: بیانگر آن است که گیت‌وی مدت زیادی منتظر پاسخ مانده و سرور بک‌اند پاسخی نداده است.
درواقع درک این تفاوت‌ها باعث می‌شود سریع‌تر منبع مشکل را پیدا کنید و به سمت راه‌حل درست بروید.

علت خطای 504 (Gateway Timeout)

علت خطای 504

ارور 504 زمانی رخ می‌دهد که سرور واسط (Gateway/Proxy) در بازه زمانی تعریف‌شده پاسخی از سرور پشت‌صحنه (Upstream/Origin) دریافت نمی‌کند. این «عدم پاسخ‌گویی به‌موقع» لزوماً به معنی از کار افتادن سرویس نیست؛ در بسیاری از سناریوها، گره مقصد در حال پردازش سنگین (مثلاً اجرای کوئری‌های پیچیده یا درخواست به API خارجی) است یا به دلیل محدودیت منابع/اتصالات نمی‌تواند پاسخ را در محدوده زمانی تعیین‌شده برگرداند.

دلایل این خطا می‌تواند خیلی متنوع باشد. برای مثال اگر دیتابیس شما کند شده یا کوئری‌های زیادی هم‌زمان اجرا شوند، سرور نمی‌تواند سریع جواب بدهد. یا اگر تنظیمات سرور وب مثل Apache یا Nginx به درستی انجام نشده باشند، زمان انتظار (Timeout) زود تمام می‌شود.
همچنین ممکن است مشکل از اینترنت یا شبکه، تنظیمات نادرست فایروال یا حتی سرویس‌های واسطه مثل Cloudflare باشد. به زبان ساده، وقتی ارتباط بین سرور شما و کاربر بیش از حد طولانی شود، مرورگر خطای 504 را نمایش می‌دهد. در ادامه رایج‌ترین دلایل را می‌بینید:
  • کندی پایگاه داده (Database): اجرای کوئری‌های سنگین یا قفل شدن جداول.
  • زمان‌بندی نامناسب Timeout سرور: محدودیت پیش‌فرض در وب‌سرورها مانند Nginx یا Apache.
  • مشکلات CDN یا فایروال: تداخل Cloudflare یا تنظیمات امنیتی نادرست.
  • اسکریپت‌های PHP سنگین: پردازش طولانی یک اسکریپت وردپرس یا پلاگین معیوب.
  • ترافیک بیش‌ازحد: بار زیاد روی سرور که باعث کندی پاسخ می‌شود.

روش‌های رفع ارور 504 یا خطا Gateway Timeout

برای رفع خطای 504 روش‌های متعددی وجود دارد که از ساده‌ترین اقدامات در سمت کاربر تا تنظیمات پیشرفته سرور را شامل می‌شود. این بخش به شما کمک می‌کند تا قدم‌به‌قدم مشکل را بررسی کنید و بدانید در هر سطح چه کاری انجام دهید. اگرچه در بسیاری مواقع رفرش ساده یا پاک کردن کش می‌تواند موقتاً مشکل را رفع کند، اما برای حل دائمی باید دلایل ریشه‌ای مثل تنظیمات Timeout یا کندی دیتابیس بررسی شوند. در ادامه به شکل کامل همه این مراحل را توضیح می‌دهیم.

اقدامات اولیه سمت کاربر در رفع مشکل 504

  • رفرش (Refresh) صفحه مرورگر.
  • پاک کردن کش مرورگر و پاک کردن کش DNS 504 در سیستم.
  • تست اتصال اینترنت یا تغییر شبکه برای بررسی مشکل سمت کاربر.

عیب‌یابی در سطح وب‌سایت (مدیریت CMS)

  • غیرفعال کردن افزونه‌ها و قالب وردپرس برای شناسایی 504 Error WordPress.
  • بهینه‌سازی پایگاه داده با افزونه‌هایی مانند WP-Optimize.
  • بررسی فایل .htaccess برای تنظیمات ناسازگار که به دلیل پایین بودن زمان اجرای PHP  با این خطا مواجه خواهید شد. برای رفع این مشکا کافی است کد زیر را در فایل htaccess. قرار داده و ذخیره کنید.
<IfModule mod_php5.c>
php_value post_max_size 512M
php_value upload_max_filesize 512M
php_value memory_limit 1024M
php_value max_execution_time 300
php_value max_input_time 300
php_value session.gc_maxlifetime 1440
</IfModule>
رفع مشکل 504 سایت

رفع مشکل 504 سایت در سطح سرور

وقتی مشکل از سمت کاربر یا خود سایت نباشد، لازم است پیکربندی سرور بررسی شود. در این سطح شما باید مطمئن شوید که وب‌سرور، فایروال و دیتابیس به درستی تنظیم شده‌اند. بسیاری از خطاهای 504 ناشی از محدودیت Timeout یا پردازش‌های طولانی است که در سرور رخ می‌دهد. با اصلاح این تنظیمات و بررسی لاگ‌ها می‌توانید علت اصلی را شناسایی و مشکل را برای همیشه برطرف کنید.

1- بررسی تنظیمات وب‌سرور

  • در Apache مقدار Timeout و ProxyTimeout را افزایش دهید.
  • در Nginx پارامتر proxy_read_timeout را بیشتر کنید.

2- تنظیمات فایروال 504

بررسی کنید که فایروال یا WAF مانع پاسخ‌گویی سرور نشده باشد.
در صورت استفاده از Cloudflare، حالت توسعه (Development Mode) را فعال کنید و تست کنید.
خطای Gateway Timeout

3- بررسی لاگ سرور 504

  • بررسی فایل‌های لاگ در /var/log/nginx/error.log یا /var/log/apache2/error.log.
  • تحلیل خطاها برای یافتن کوئری‌های سنگین یا اسکریپت‌های معیوب.

4- افزایش Timeout سرور

  • برای کوئری‌های دیتابیس یا API‌های خارجی زمان انتظار بیشتری در نظر بگیرید.
  • استفاده از کش (Cache) برای کاهش فشار روی منابع.
رفع ارور 504
💡 بیشتر بدانید: چگونه خطای 503 Service Unavailable سایت خود را رفع کنیم؟

مقایسه راه‌حل‌های رفع ارور 504 سایت

در این جدول به‌صورت خلاصه می‌بینید در هر سطح (کاربر، CMS، وب‌سرور و دیتابیس) چه اقداماتی برای رفع ارور 504 می‌توان انجام داد و برای هرکدام یک مثال عملی آورده شده است تا در عمل راحت‌تر پیاده‌سازی کنید.
سطح مشکلراه‌حل پیشنهادیمثال عملی
سمت کاربرپاک کردن کش DNSipconfig /flushdns
سمت CMSغیرفعال کردن افزونه وردپرستغییر نام پوشه plugins
سمت وب‌سرورافزایش proxy_read_timeoutproxy_read_timeout 300;
سمت دیتابیسبهینه‌سازی کوئری‌های MySQLاستفاده از EXPLAIN برای کوئری‌ها

نتیجه‌گیری:‌ رفع ارور 504 (Gateway Timeout)

خطای 504 Gateway Timeout می‌تواند تجربه کاربری و سئو وب‌سایت شما را به‌شدت تحت تأثیر قرار دهد. با این حال، شناخت دقیق علت خطای ۵۰۴ و اجرای مراحل رفع مشکل 504 سایت از سمت کاربر تا سرور، می‌تواند این مسئله را در کوتاه‌ترین زمان برطرف کند. بررسی لاگ سرور ۵۰۴، تنظیمات فایروال و افزایش Timeout سرور از مهم‌ترین اقدامات در سطح فنی هستند. به یاد داشته باشید، پیشگیری از این خطا با بهینه‌سازی پایگاه داده، استفاده از منابع کافی و مانیتورینگ مداوم بهترین راهکار است. اگر همچنان با مشکل روبه‌رو هستید، ارتباط با تیم پشتیبانی هاستینگ می‌تواند سریع‌ترین مسیر برای بازگرداندن وب‌سایت شما به حالت عادی باشد.

سوالات متداول از خطای Gateway Timeout

1- علت اصلی ارور 504 چیست؟

معمولاً به دلیل تاخیر در پاسخ‌دهی سرور بک‌اند یا Timeout در وب‌سرور رخ می‌دهد.

نرسی مزداب
نرسی مزداب

من نویسنده و تولیدکننده محتوای تخصصی در حوزه هاستینگ هستم که با تمرکز بر کپی‌رایتینگ و ارائه آموزش‌های کاربردی، به ارتقای دانش و مهارت کاربران کمک می‌کنم. سال‌هاست که در زمینه هاستینگ و شبکه فعالیت می‌کنم و همواره تلاش دارم با به‌روزرسانی اطلاعات خود، بهترین و مفیدترین مطالب را برای مخاطبان ارائه دهم.

مقاله‌ها: 52
پاسخی بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *