خطای 504 یکی از خطاهای سمت سرور است. معمولا زمانی که در سمت سرور مشکلی بروز پیدا میکند، خطاهایی را مشاهده خواهید کرد که با رقم 5 آغاز میشوند و بین انواع ارور 500 قرار میگیرند. این خطا زمانی رخ میدهد که به دلیل مشکلاتی سرور نتواند درخواست شما را در زمانی مشخص تکمیل کند. در این مطلب میخواهیم به بررسی ارور 504 و روش حل آن بپردازیم. پس تا انتها همراه ما باشید.
ارور 504 Gateway Timeout چیست؟
خطای 504 Gateway Timeout به این معنا است که وب سرور در هنگام تلاش برای بارگیری یک صفحه برای شما پاسخ مناسبی از سرور دیگری که درخواست داده شده، دریافت نکرده است. این نوع خطا به ارور 504 معروف است، زیرا وبسرور از این کد وضعیت HTTP برای این نوع خطا استفاده میکند. این خطا ممکن است به دلایل مختلفی رخ دهد اما دو دلیل رایج آن این است که به سرور درخواستهای زیادی ارسال شده باشند یا سرور در حال تعمیر باشد. بهطور کلی انواع ارور 500 مربوط به مشکلات سمت سرور میشوند.
طراحان وبسایتها میتوانند صفحه خطای 504 را بهطور سفارشی طراحی کنند. بنابراین، ممکن است در وب سایتهای مختلف عنوانهای متفاوتی را برای این خطا مشاهده کنید. بهعنوان مثال شما ممکن است با نمونهها متنهایی که در ادامه ذکر میکنیم، مواجه شوید:
- 504 Gateway Timeout
- 504 Gateway Timeout NGINX
- NGINX 504 Gateway Timeout
- Gateway Timeout Error
- Error 504
- HTTP Error 504
- HTTP Error 504 – Gateway Timeout
- 504 Error
- Gateway Timeout (504)
- این صفحه کار نمیکند، پاسخ دامنه بیش از حد طول کشیده است.
- Gateway Time-out 504 – سرور به موقع پاسخ نداده است.
- HTTP 504
- یک صفحه سفید خالی مشاهده کنید.
این خطا در هر مرورگر، هر سیستم عامل و هر دستگاهی مثل گوشیهای اندروید و آیفون، لپتاپ، تبلت، کامپیوتر، مرورگر کروم، اینترنت اکسپلورر و در نسخههای مختلف ویندوز و مک، قابل مشاهده است.
چگونه خطای error 504 را رفع کنیم؟
در بخش بعد نحوه رفع خطای 404 Not Found را از سمت کاربر و مدیر سایت توضیح میدهیم.
روشهای برطرف کردن error 504 توسط کاربر
تصور کنید که برق خانه شما قطع شده است. بیشتر مواقع قطعی برق هیچ ارتباطی با شما یا هر چیز دیگری در داخل خانه ندارد. با اینحال یکی از اولین کارهایی که ممکن است انجام دهید، بررسی کنتور برق است. بههمین شکل برای رفع خطای ۵۰۴ نیز روشهایی وجود دارد که کمک میکنند تا مطمئن شوید که مشکل از سمت شما نیست. مجددا تاکید میکنیم باید بدانید در بیشتر مواقع این مشکل از سمت سرور رخ میدهد. اما با وجود این میتوانید روشهای زیر را برای رفع این خطا امتحان کنید.
رفرش کردن صفحه
در بعضی مواقع ممکن است این خطا به دلیل یک مشکل لحظهای از سمت سرور باشد. کمی صبر کنید و مجددا صفحه را با استفاده از کلید F5 یا Ctrl+R رفرش کنید. در این مرحله میتوانید آدرس وبسایت خود را در سایت https://downforeveryoneorjustme.com/ وارد کنید. این سایت به شما اطلاع میدهد که آیا مشکل از سمت شما بوده یا وبسایت از دسترس خارج شده است.
پاک کردن کش مرورگر
میتوانید از مرورگر دیگری استفاده کرده یا کش مرورگر خود را پاک کنید. این روش عیبیابی آسان است. چون حتی اگر نتیجه ندهد، انجام آن زمان زیادی از شما نمیگیرد.
VPN را خاموش کنید
اگر از برنامههای تغییر آیپی مثل فیلترشکن یا وی پی ان استفاده میکنید، آنها را خاموش کنید و دوباره به بارگذاری سایت بپردازید. بعضی مواقع سرور VPN شما قادر به پاسخگویی به سرور هاست سایت مورد نظرتان نیست. در بعضی موارد ارور ۵۰۴ ممکن است هنگام ورود به وبسایت رخ دهد. برای رفع این مشکل میتوانید راهحلهای زیر را امتحان کنید:
خاموش و روشن کردن دستگاه
در بعضی مواقع ممکن است علت مشکل سختافزار شما باشد که باعث بروز ارور 504 میشود. بنابراین راهاندازی مجدد دستگاه میتواند موثر باشد. دستگاه رایانه یا مودم خود را خاموش و روشن کنید. سپس وارد سایت مورد نظرتان شوید.
تغییر DNS
سرورهای DNS به رایانه شما کمک میکنند تا به سرورهای موجود در اینترنت وصل شود. ممکن است که علت خطای ۵۰۴ از سمت سرورهای دی ان اس شما باشد. برای حل مشکل، سرور DNS رایانه خود را تغییر دهید. برای اینکار به مسیر زیر بروید:
Control Panel» Network and Sharing Center» Change adapter settings
سپس DNS سرور خود را روی 8.8.8.8 و 8.8.4.4 قرار دهید و مجددا سایت مورد نظر را رفرش کنید.
دستگاههای مختلف را امتحان کنید
سعی کنید وبسایت مربوطه را روی کامپیوتر، شبکه اینترنتی یا گوشی موبایل دیگری لود کنید. همچنین میتوانید دستگاههای شبکه را ریبوت کنید تا ببینید مشکل سختافزاری است یا از ارتباط اینترنتی شما. اگر ارور HTTP 504 روی دستگاههای مختلف پابرجا بود، احتمالا از سمت سرور است و شما نمیتوانید آن را رفع کنید.
صبور باشید
همانطور که گفتیم، ارور 504 از سمت سرور رخ میدهد. پس در حقیقت برای حل این مشکل کار زیادی از دست شما برنمیآید. اگر موارد بالا را انجام دادید و همچنان خطای 504 به نمایش درآمد، صبور باشید و در زمان دیگری به سایت مورد نظر سر بزنید.
راههای رفع خطای 504 برای مدیران سایت (سمت سرور)
در ادامه به روشهای رفع ارور 504 برای مدیران سایت میپردازیم:
بررسی گزارش خطاها
یک راه فوری برای شناسایی دلایل این خطا در سایت وردپرس، بررسی گزارشهای خطا است. اگر هاست شما از cPanel استفاده میکند، میتوانید خطاها را از پنل Metrics و با کلیک روی گزینه Errors مشاهده کنید.
بررسی تمها و افزونهها
یکی از علتهای خطای 504 Gateway Time-out در وردپرس، ممکن است برنامههای شخص ثالث مثل پلاگینها و قالبها باشد. در بعضی موارد غیرفعال کردن پلاگینهای وردپرس بهطور جداگانه میتواند به ما کمک کند تا متوجه شویم کدام یک از آنها باعث ایجاد خطا شده است. برای تمهای وردپرس نیز باید همین کار را انجام دهید. روشهای مختلفی برای غیرفعال کردن افزونهها در وردپرس وجود دارد. اگر به داشبورد ادمین دسترسی ندارید، میتوانید فقط از طریق FTP به سرور وردپرس خود وارد شوید یا از مدیر فایل cPanel استفاده کنید.
بررسی منابع سرور و لود آن
هر هاستی مقدار مشخصی از منابع را در اختیار وبسایتها برای عملکرد بهینه آنها قرار میدهد. اگر از منابع سرور خود حداکثر استفاده را کرده باشید، بازدیدکنندگان سایتتان یک خطای سمت سرور را مشاهده خواهند کرد. در چنین شرایطی میتوانید با بخش پشتیبانی شرکت هاستینگ مورد نظرتان تماس بگیرید و راهحل دیگر هم افزایش محدودیت حداکثر زمان اجرای PHP است. تایم اوتهای سرور زمانی اتفاق میافتند که تکمیل اجرای اسکریپتهای PHP بیشتر از زمان مشخصشده طول بکشد.
اما یکی دیگر از دلایل شایع برای خطای 504 gateway timeout لود بیش از حد سرور است. ارور 504 زمانی اتفاق میافتد که سرور در لحظه تعداد بیش از حدی درخواست را دریافت کند و نتواند تمام آنها را پردازش کند. از جمله دلایل این اتفاق موارد زیر است:
- حجم ترافیک بیش از حد
- نصب اشتباه
- حملات مخرب مانند DDoS
تنظیمات سرور را تغییر دهید
مشکلات وب سرور دلیل مشترک خطای 404 Not Found در سایتهایی هستند که از سرور مجازی VPS برای میزبانی استفاده میکنند. اگر از وب سرور آپاچی استفاده میکنید، علت این خطا میتواند محدودیت زمان اجرای اسکریپتهای PHP باشد. همچنین خطاهای HTTP 504 اغلب به علت تایم اوت ارتباط پروکسی در سایتهایی که روی وب سرور Ngnix اجرا میشوند، شکل میگیرند. در ادامه نحوه رفع مشکل روی هر دو این وب سرورها را توضیح میدهیم.
- کاربران آپاچی میتوانند مقدار پیشفرض تایم اوت را در فایل conf افزایش دهند. برای این منظور خط زیر را به فایل پیکربندی آپاچی اضافه کنید تا مقدار پیشفرض تایم اوت را از 300 ثانیه به 600 ثانیه افزایش دهید:
Timeout 600
این تغییر باعث خواهد شد سرور قبل از تایم اون شدن، بیشتر برای اجرای اسکریپتها صبر کند. همچنین میتوانید محدودیت حداکثر زمان اجرا را در فایل php.ini برای اسکریپتهای PHP افزایش دهید تا اسکریپتها طی زمان بیشتری اجرا شوند:
max_execution_time 300
پس از ذخیره کردن تغییرات، آپاچی را ری استارت کنید.
- اگر VPS شما از سرور Nginx استفاده میکند، مقادیر زیر را در مسیر /etc/nginx/conf.d/timeout.conf افزایش دهید:
- proxy_connect_timeout 600;
- proxy_send_timeout 600;
- proxy_read_timeout 600;
- send_timeout 600;
اگر از Nginx به همراه FastCGI Process Manager (PHP-FPM) استفاده میکنید، باید فایل PHP-FPM را ویرایش کنید. به مسیر /etc/php5/fpm/pool.d/www.conf بروید و خط زیر را اضافه کنید:
Request_terminate_timeout = 300
همچنین توصیه میکنیم max_execution_time را در فایل php.ini افزایش دهید:
max_execution_time 300
توجه کنید که محل فایل پیکربندی براساس نوع نصب شما متفاوت است. در پایان تغییرات را ذخیره کرده، Nginx را ری استارت کنید و وبسایتتان را مجددا لود کنید.
استفاده از کلود فلر
اگر از خدمات کلودفلر برای وبسایت خود استفاده میکنید، ممکن است این موضوع باعث بروز خطای 504 شده باشد. در این حالت، ارتباط سرور با کلودفلر بهطور موقت قطع میشود. این مشکل در اکثر مواقع بهطور خودکار حل میشود.
تماس با پشتیبانی
اگر تمام مواردی را که ذکر کردیم امتحان کردید و همچنان مشکل دارید، بهتر است با تیم پشتیبانی آن وبسایت برای حل مشکل مربوطه تماس بگیرید.
نکته مهمی که باید درباره خطای 504 بدانید
ارور 504 با توجه به آنچه که در سایت شما رخ میدهد، میتواند تاثیر منفی زیادی روی سئو سایت شما داشته باشد و مانند تمام خطاهای رایج در یک سایت مخرب باشد. برخلاف Error 503 که به گوگل اعلام میکند که بعدا به سایت سر بزند، خطای 504 به معنای عدم دسترسی به سرور است. بههمین علت در صورتی که بر طرف نشود، میتواند رتبه سایت مورد نظر را در موتورهای جستجو بهطور قابل توجهی کاهش دهد.
اگر سایت شما تنها برای چند دقیقه در دسترس نباشد، این مساله بسیار مهم نیست. اما اگر زمان آن به چندین ساعت یا بیشتر افزایش یابد، ممکن است گوگل این خطا را بهعنوان یک مشکل جدی در سایت در نظر بگیرد که میتواند بهطور مستقیم تاثیر منفی روی سئو سایت شما داشته باشد. اگر نگران تکرار خطاهای 504 هستید، راهحلهایی که در بالا ذکر کردیم میتوانند به شما در رفع مشکل کمک کنند و از تاثیر منفی این نوع ارور 500 روی سئو سایت شما جلوگیری کنند.
تفاوت ارور 502، 503 و 504 چیست؟
ارورهای 502، 503 و 504 همگی ارورهای مربوط به HTTP هستند که مشکل در برقراری ارتباط بین کاربر و سرور را نشان میدهند. با اینحال تفاوت اصلی آنها در جزئیات و زمانبندی آنها است:
ارور 502
این ارور به معنای برقراری ارتباط ناموفق میان سرور و یک سرور دیگر است. به عبارت دیگر سرور مبدا برای دریافت پاسخ به درخواست کاربر به سرور دیگری ارسال میکند اما دریافت پاسخ موفقیت آمیز نیست. علت این مشکل ممکن است از سمت سرور دیگر، مشکل در شبکه، فایروال یا مشکلاتی در سرور مبدا باشد.
ارور 503
Error 503 به معنای «سرور در دسترس نیست» است و به مشکلاتی مثل بارگذاری بالا، مشکل در هندل کردن ترافیک، تعمیر و نگهداری سرور، و یا مشکل در سیستم عامل سرور بر میگردد.
ارور 504
این ارور به معنای «زمان انتظار برای پاسخ سرور به درخواست به اتمام رسید» است. در این حالت، سرور مبدا یک درخواست به سرور دیگری میفرستد ولی دریافت پاسخ آن طولانی میکشد و در نتیجه به اتمام میرسد. این مشکل ممکن است ناشی از بار زیاد در سرور، شبکه، فایروال یا خطای برنامهای در سرور باشد. بهطور خلاصه، ارور 502 به مشکلات مربوط به شبکه و دیگر سرورها، ارور 503 به مشکلات داخلی سرور و ارور 504 به مشکلات انتظار پاسخ سرور به درخواست کاربر باز میگردد.
سوالات متداول
چطور میتوان خطای 504 را رفع کرد؟
بارگذاری مجدد وبسایت بررسی تنظیمات پروکسیتان بررسی مشکلات DNS رفع مشکل دیتابیس خراب وردپرس غیرفعال کردن موقت CDN سایت
ارور 504 چقدر طول میکشد؟
تا زمانی که این مشکل رفع نشود، پابرجا است و میتواند مدت آن حتی چند ساعت باشد.
علت خطای 404 Not Found چیست؟
این خطا نشان میدهد که سرور در نقش یک پروکسی یا دروازه خروجی، پاسخ بهموقعی از سروری که برای تکمیل درخواستهای کاربر باید به آن دسترسی داشته باشد، دریافت نکرده است. این خطا میتواند به علت ترافیک بیش از حد سرور یا سایت، موقتی باشد.
چطور میتوانید جلوی خطای 504 gateway timeout را بگیرید؟
عملکرد سایت خود را با حداقل استفاده از پلاگینهایی که از منابع بیش از حد استفاده میکنند، بهینهسازی تصاویر و به حداقل رساندن درخواستهای HHTP، بهینه کنید. علاوه بر این، از خدمات هاستینگ باکیفیت مثل آذرآنلاین استفاده کنید.