خطای 504 Geteway time error یکی از کد های وضعیت http است که سرور زمانی که قادر به تکمیل در خواست ها نیست می توانید از آن استفاده کنید(درحالی که خطای 500 مربوط خطای داخل سرور است و 502 نیز یک یک خطای gateway errorاست شما هر زمان در اینترنت گردش می کنید حداقل دوباره این خطاها را تجربه خواهید کرد)
در این مقاله ما سعی داریم روی خطای 504 تمرکزکنیم و نحوه رفع آن را در وردپرس دنبال کنیم . هنگامی که شما از هر وب سایت بازدید می کنید، در خواست های خود را ایجاد وآنها را به وب سرور های منتقل می کنید و هر بار که یک درخواست پردازش می شود، سرور یک کد وضعیت http با منابع در خواستی ارسال می کند. به طور پیش فرض، کد وضعیت httpنمایش داده نمی شود مگر اینکه در فرایند اشتباهی رخ داده باشد.
خطای gatewy time out 504 چیست ؟
کدهای وضعیت http که با رقم 5 شروع می شوند خطای سرور هستند، آنها زمانی که خواستار تکمیل در خواست خود باشند، اما اشتباهی در ارتباط با سرور یا سرور ها وجود داشته باشد صادر می شوند.
خطای get way time out 504 یک کد وضعیت http استکه به نظر می رسد زمانی که یک سرور یک پاسخ به موقع از سرور دیگری که به عنوان یک gateway یا پروکسی عمل می کند را دریافت نمی کند صادر میشود. به طور خلاصه، این بدان معنی است که سرور قادر به تکمیل در خواست شما در فاصله زمانی داده شده نیست.
همچنین می تواند در اشکال واندازه های مختلف باشد برای مثال :
Gateway time out 504
504 Gateway Timeout nginx
Gateway Timeout Error
HTTP Error 504
504 Gateway Time-out – The server didn’t respond in time
HTTP Error 504 – Gateway Timeout
چگونه خطای gateway Time out 504 رارفع کنیم :
در حالی که خطای 504 بیشتر مواقع از سمت سرور است اما ممکن است این خطا به علت مسائل یا سواستفاده های ناشی از طرف کاربر نیز ظاهر شود، بنابراین، مادر مراحل عیب یابی اولیه هر دو مورد را در ذهن داریم. بخشی از این مراحل فقط برای وردپرس مناسب هستند اما بیشتر آنها را میتوان برروی هر وب سایتی اعمال نمود.
- صفحه را refreashکنید.
اولین گام برای رفع خطا 504 این می باشد که چنددقیقه صبر کنید و سپس صفحه را رفرش نمایید ممکن است در آن لحظه سرور درخواست های زیادی را دریافت نموده باشد و قادر به پردازش آنها بوده است با کمی صبر و ارسال مجدد در خواست مشکل برطرف خواهد شد. در حالی که منتظر هستید می توانید از ابزارهای آنلاین جهت بررسی وب سایت خود استفاده کنید این یک روش عالی برای اطمینان از این مورد است که آیا مشکل مربوط به شبکه محلی است یا خیر ؟ برای مثال وب سایت hosting.review/check-if-website-is-dawn میتواند در این زمینه به شما کمک کند.
- تغییر مرورگر:
درصورتی که در ابزارهای آنلاین وضعیت را upنشان می دهد ولی شما همچنان خطای 504 را دریافت می کنید از یک مرورگر دیگر استفاده کنید یا کش مرورگر خود را پاک کنید و مجددا چک کنید.
- Flush Dns
دریافت خطای GatWay Time out 504 در بعضی از مواقع ممکن است بخاطر وجود یک DNS منقضی شده در کش باشد البته پاک کردن آن سخت نیست روش انجام این بستگی به نوع سیستم عامل شما دارد.
- تست با دستگاه های مختلف :
با رایانه های دیگر تلفن همراه خود وحتی شبکه های isp مختلف سایت خود را باز کنید و اطمینان حاصل کنید که خطای 504 بر روی سایت شما وجود دارد و این خطا از سمت سرور شما می باشد.
- بررسی فایل error log :
خطای 504 ممکن است به علت بروز رسانی های سیستم مدیریت محتوای به وجود بیاید با چک کردن Error Log می توانید منشا خطا را مشاهده کنید در صورتی که سیستم شما خطاها را ثبت نمی کند فایل wp-config.php خود را ویرایش کنید و قطع کد زیر را در آن قرار دهید.
define( ‘WP_DEBUG’, true );
define( ‘WP_DEBUG_LOG’, true );
define( ‘WP_DEBUG_DISPLAY’, false );
پس از قراردادن این کد در خطاها در فایل contents/debug-log ذخیره می شود.
- چک کردن پلاگین ها :
پلاگین های caching و یا پلاگین های قدیمی و ناسازگار نیز می تواند باعث ایجاد خطای 504 در وردپرس شوند. از این رو برای حل مشکل تمام آنها را به طورموقت غیر فعال کنید و برای غیر فعال کردن تمام پلاگین ها به صورت یکباره لازم است وارد پوشه wp-contentشوید و سپس پوشه plugins رابه نام دیگری تغییر دهید.
اگر سایت شما با غیر فعال کردن پلاگین ها درست کار کرد مرحله بعدی مشخص کردن پلاگینی است که باعث ایجاد این خطا شده است. حالانام پوشه پلاگین را به نام pluginsتغییر نام دهید و این بار سعی کنید یکی یکی پلاگین ها را غیر فعال کنید و پلاگین مشکل ساز را پیدا کنید.
- بررسی CDN ها :
اگر از CDN جهت دسترسی سریع تر به محتوای سایت خود استفاده می کنید باید بررسی کنید که آیا از طرف CDN همه چیز خوب است یا خیر، یکی از رایج ترین CDN ها که باعث کاهش حملات ddos میشوند کلود فلر است که در هنگام استفاده از آن ممکن است دو نوع خطای 504 مواجه شوید.
در صورتی که خطا از سمت خود کلودفلر باشد شما با خطای زیر مواجه می شوید برای حل این مشکل می توانید با کلود فلر در ارتباط باشید و از آنها بخواهید مشکل را حل کنند و یا به صورت کلی کلود فلر را از روی سایت خود غیر فعال کنید در این حالت ممکن است چند ساعت منتظر باشید تا dns ها مجددا برروی دامنه شما تنظیم شود.
- تنظیمات سرور را بررسی کنید :
اگر از vps استفاده می کنید چند چیز هستند که ممکن است باعث ایجاد خطای 504 شود راه حل ها شامل ارتقاء تنظیمات سرور و یا افزایش محدودیت منابع خاص مورد استفاده است.
آپاچی :
کاربران آپاچی ممکن است مقدار پیش فرض time out را در فایل http.conf افزایش دهند برای مثال :
# Timeout: The number of seconds before receives and sends time out.
Timeout 600
علاوه براین افزایش محدودیت max_execution_time در php.ini همچنین می تواند نتایج مثبت داشته باشد.
max_execution_time 300
تغییرات را ذخیره کنید، آپاچی را مجددا را اندازی کنید و دوباره بررسی کنید اگر علت خطا 504 شما محدودیت های زمانی بوده باشد با این تغییرات باید خطای شما برطرف شده باشد.
Nginx:
اگر vps شما از Nginx استفاده می کندسعی کنید مقادیر زیر را در /etc/nginx/conf.d/timeout.conf افزایش دهید.
proxy_connect_timeout 600;
proxy_send_timeout 600;
proxy_read_timeout 600;
send_timeout 600;
همچنین توصیه می شود max_execution_time را در php.ini افزایش دهید :
max_execution_time 300
هنگامی که تغییرات ذخیره شد مجددا Nginx را راه اندازی و وب سایت خود را مجددا بررسی کنید.
- با پشتیبان هاست یا سرور مجازی خود تماس بگیرید
درصورتی که تمام این مورد را انجام دادید و مشکل شما برطرف نشده است بهتر است موضوع را با پشتیبان هاست خود در میان بگذارید سعی کنید تمام مراحل انجام شده روی هاست را برای پشتیبان هاست خود توضیح دهید این روند باعث سرعت بخشیدن به روند ردیابی مشکل و حل آن خواهد شد .
در این مقاله سعی شده است مواردی که باعث ایجادخطای 504 در وب سایت شما شده اند را بررسی کنیم در صورتی که شما با موارد جدید روبه رو شده اید خوشحال خواهیم شد در نظرات این مورد را به مانیز اطلاع دهید.