چگونه خطای 504 Gateway Timeout را در سایت وردپرس خود رفع کنیم

خطای 504 Gateway Timeout یکی از رایج ترین خطاهای HTTP 5xx است که صاحبان وب سایت و بازدید کنندگان سایت با آن روبرو هستند. برای بسیاری از وبلاگ های وردپرس و سیستم عامل های تجارت الکترونیک ، دانستن چگونگی رفع خطاهای سرور از این قبیل برای جلوگیری از مراجعه بازدیدکنندگان سخت کوشی آنها به سایت های رقیب بسیار مهم است.

از آنجا که خطای 504 Gateway Timeout دلیل وقوع آن را به شما نمی گوید ، تشخیص دقیقاً علت وقفه در سرور دشوار است. این مقاله به شما کمک می کند تا آن را عمیقاً بفهمید ، یاد بگیرید چگونه می توانید علت آن را تشخیص دهید و سپس آن را برطرف کنید

پس از آزمایش همه راه حلهای مختلف ذکر شده در پست ، سایت شما باید در کمترین زمان فعال و فعال شود.

جالب به نظر می رسد؟ بیایید غواصی کنیم!
خطای 504 Gateway Timeout یکی از رایج ترین خطاهای HTTP 5xx است که صاحبان وب سایت و بازدید کنندگان سایت با آن روبرو هستند. 🤔 بیاموزید که چگونه با این راهنما سریع آن را برطرف کنید. ⬇️ برای توییت کلیک کنید

خطای 504 Gateway Timeout چیست؟ h2>

هر بار که از یک وب سایت در مرورگر خود بازدید می کنید ، مرورگر درخواستی را به سرور وب محل میزبانی سایت به ارسال می کند سرور درخواست را پردازش می کند و با منابع درخواستی پاسخ می دهد.

Illustration of how HTTP requests and responses work

نحوه درخواست و پاسخ HTTP

پاسخ سرور شامل یکی از بسیاری از کدهای وضعیت HTTP برای نشان دادن وضعیت پاسخ به مرورگر است . اما همه این کدهای وضعیت HTTP خطا نیستند. به عنوان مثال ، یک 200 کد وضعیت تأیید به این معنی است که سرور درخواست را با موفقیت پردازش کرده و “همه چیز خوب است.”

کلاس 5xx کد وضعیت HTTP نشان می دهد مشکلی در سرور وجود ندارد ، سرور از آن آگاه است و نمی تواند درخواست مشتری را انجام دهد. در نتیجه ، از آنها به عنوان کد وضعیت خطای سرور 5xx نیز نام برده می شود.

رسماً ، پنج کد وضعیت در کلاس 5xx مشخص شده است ( 500 ، 501 ، 502 ، 503 ، 504). ممکن است به کدهای غیررسمی بسیاری نیز برخورد کنید ( 506، 507، 509 ، 520 و غیره).

گروه ویژه مهندسی اینترنت (IETF) خطای 504 Gateway Timeout را چنین تعریف می کند:

کد وضعیت 504 (Gateway Timeout) نشان می دهد که سرور در حالی که به عنوان دروازه یا پروکسی عمل می کند ، پاسخی به موقع از سرور بالادستی که برای دسترسی به آن نیاز داشت دریافت نکرده است. برای تکمیل درخواست.

برای ساده سازی بیشتر ، این خطا هنگامی رخ می دهد که دو سرور درگیر پردازش یک درخواست باشند و سرور اول (به طور معمول سرور اصلی) در انتظار پاسخ از سرور دوم (سرور بالادست) پایان یابد.

خطای 504 Gateway Timeout به اشکال مختلف ظاهر می شود. در اینجا چند روش نشان داده شده است:

The HTTP ERROR 504 in Chrome browser

” HTTP ERROR 504 “در مرورگر Chrome

خطای 504 Gateway Timeout مانند 502 خطای Bad Gateway است ، که نشان می دهد اولین سرور است پاسخ نامعتبری از سرور دوم (سرور بالادستی) دریافت کرد.

504 GATEWAY TIMEOUT status code in Chrome DevTools

کد وضعیت “504 GATEWAY TIMEOUT” در Chrome DevTools

تغییرات خطای 504 Gateway Timeout

مرورگر هر خطای 504 Gateway Timeout را مانند هر خطای دیگر در داخل خود نشان می دهد. از آنجا که انواع مختلفی از سیستم عامل ها ، وب سرورها ، مرورگرها و نمایندگان کاربر وجود دارد ، می تواند به روش های مختلفی نشان داده شود.

در زیر چند پیام رایج خطای 504 وجود دارد که ممکن است با آنها روبرو شوید:

  • 504 Gateway Timeout
  • 504 Gateway Timeout NGINX
  • NGINX 504 Gateway Timeout
  • خطای اتمام دروازه
  • خطای 504
  • خطای HTTP 504
  • خطای HTTP 504 – مهلت گیت وی
  • HTTP 504
  • خطای 504
  • مهلت گیت وی (504)
  • این صفحه کار نمی کند – پاسخ دادن به دامنه خیلی طولانی شد
  • 504 Gateway Time-out – سرور به موقع پاسخ نداد
  • یک صفحه سفید خالی

تمام پاسخ های خطای فوق ، اگرچه متن های متفاوتی دارند ، اما به همان خطای سرور 504 Gateway Timeout اشاره می کنند.

سرورهای وب و وب سایت ها می توانند نحوه نمایش خطای 504 Gateway Timeout به کاربران را سفارشی کنند. بعضی از آنها می توانند جالب باشند! این یک تاکتیک عالی برای مهار ناامیدی بازدید کنندگان است.

GitHub’s customized HTTP 504 error page

صفحه خطای سفارشی GitHub HTTP 504

تأثیر SEO بر خطای 504 Gateway Timeout

همه خطاهای 5xx از بارگیری یک صفحه وب جلوگیری می کند ، و این باعث آسیب رساندن به تجربه کاربر می شود. از این رو ، موتورهای جستجوگر مانند Google این خطاها را جدی می گیرند. اگر این خطا برای مدت طولانی ادامه داشته باشد ، حتی ممکن است منجر به حذف مجدد صفحه وب از نتایج موتور جستجو شود.

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

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

اما اگر سایت شما بیش از 6 ساعت یا بیشتر از کار افتاده باشد ، Google خطای 504 را به عنوان یک مسئله جدی در سراسر سایت در نظر می گیرد که باید در اسرع وقت آن را برطرف کنید. این می تواند بر SEO شما تأثیر منفی بگذارد.

Viewing the crawl errors in Google Search Console

مشاهده خطاهای خزیدن در کنسول جستجوی Google

کنسول جستجوی Google یکی از بهترین ابزارهای جستجوگرها برای نظارت بر خطاهای HTTP 5xx وب سایت شما.

علل خطای 504 Gateway Timeout

از آنجا که خطای 504 به دلیل وقفه بین سرورها است ، احتمالاً مشکل از طریق دستگاه مشتری یا اتصال به اینترنت نیست. این شامل دستگاه و اتصال شما نیز می شود.

خطای 504 Gateway Timeout نشان می دهد که وب سرور مدت زیادی منتظر پاسخ از سرور دیگر و “پایان زمان” است. دلایل زیادی برای این وقفه وجود دارد: سرور دیگر به درستی کار نمی کند ، بیش از حد بار دارد یا از کار افتاده است.

سرور دیگر همیشه نباید یک سرور خارجی باشد (به عنوان مثال CDN ، API gateway). همچنین می تواند یک موجود سرور مانند درون وب سرور اصلی باشد (به عنوان مثال سرور پراکسی معکوس ، سرور پایگاه داده).

نحوه رفع خطای 504 Gateway Timeout h2>

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

از آنجا که متغیرهای زیادی در این امر دخیل هستند ، من به شما توصیه می کنم ابتدا با رفع مشکلات مربوط به سمت سرویس گیرنده که بسیار نادر است ، شروع کرده و سپس به سمت رفع مشکلات سمت سرور بروید ، که معمولاً مقصرین خطاهای 504 هستند.

بارگیری مجدد صفحه وب را امتحان کنید h3>

یکی از اولین مواردی که می توانید هنگام مواجه شدن با خطای 504 Gateway Timeout مواجه شوید ، چند دقیقه صبر کنید و دوباره صفحه را بارگیری کنید.

برای تازه سازی / بارگیری مجدد صفحه وب در اکثر مرورگرها می توانید میانبر صفحه کلید F5 را فشار دهید. برای حذف حافظه پنهان مرورگر صفحه قبل از بارگیری مجدد ، می توانید CTRL + F5 را فشار دهید در عوض ترکیب میانبر.

Refreshing a webpage in Chrome browser

تازه سازی یک صفحه وب در مرورگر Chrome

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

اگر با انتظار و بارگیری مجدد سایت ، مشکل خطای 504 برطرف نشد ، می توانید بررسی کنید که سایتی برای همه خراب است یا فقط شما. دو ابزار آنلاین عالی برای آزمایش یک سایت برای زمان خرابی ، برای همه پایین است یا فقط من و آیا اکنون پایین است؟

Testing Kinsta.com on Down for Everyone or Just Me

تست Kinsta.com در پایین برای همه یا فقط من

دستگاههای شبکه خود را دوباره راه اندازی کنید h3>

گاهی اوقات ، مشکلات دستگاه های شبکه شما مانند مودم یا روتر می تواند منجر به خطای 504 Gateway Timeout شود. راه اندازی مجدد این دستگاه ها می تواند در رفع مشکل به شما کمک کند.

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

تنظیمات پروکسی خود را بررسی کنید h3>

سرور پراکسی بین دستگاه شما و اینترنت قرار دارد. این بیشتر برای افزایش حریم خصوصی آنلاین با پنهان کردن اطلاعات خصوصی (به عنوان مثال مکان دستگاه) از وب سایت ها و سرورهای وب (به عنوان مثال با استفاده از VPN ).

اگرچه به ندرت پیش می آید که سرورهای پروکسی خطای 504 ایجاد کنند ، اما تنظیمات نادرست سرور پراکسی می تواند دلیل این امر باشد. می توانید سرور پراکسی را غیرفعال کنید و صفحه وب را دوباره بارگیری کنید تا ببینید آیا خطایی برطرف می شود یا خیر.

Changing the ‘Proxy’ settings in Windows 10

تغییر تنظیمات” پروکسی “در ویندوز 10

اکثر سرویس گیرنده ها از سرویس پروکسی استفاده نمی کنند ، بنابراین اگر اطمینان دارید که از هیچ سرور پروکسی استفاده نمی کنید می توانید از این مرحله صرف نظر کنید. با این حال ، ممکن است شما آن را تنظیم کرده باشید بدون اینکه حتی در مورد آن بدانید. به شما پیشنهاد می کنم تنظیمات پروکسی دستگاه و مرورگر خود را بررسی کنید تا این دلیل رد شود.

مشکلات DNS

خطای 504 Gateway Timeout همچنین می تواند ناشی از مشکلات DNS در سمت سرور یا سمت مشتری (یا هر دو) باشد.

محتمل ترین دلیل برای بروز مشکل DNS در سمت سرور ، حل نشدن FQDN (نام دامنه کاملاً واجد شرایط) به آدرس IP صحیح است. معمولاً این اتفاق زمانی رخ می دهد که شما به تازگی سایت WordPress خود را به یک سرور یا میزبان جدید منتقل کرده باشید. از این رو ، مهم است که صبر کنید تا DNS دامنه به طور کامل منتشر شود ، که ممکن است حداکثر 24 ساعت طول بکشد.

می توانید از ابزارهای رایگان مانند whatsmydns.net DNS Checker یا DNSMap برای دیدن اینکه آیا DNS شما در سراسر جهان تکثیر شده است یا خیر.

Checking DNS propagation for your domain on whatsmydns.net

بررسی انتشار DNS برای دامنه شما در whatsmydns.net

برای رفع مشکلات DNS در سمت مشتری ، می توانید تخلیه حافظه پنهان محلی DNS خود را امتحان کنید . این مانند پاک کردن حافظه پنهان مرورگر است ، مگر اینکه در اینجا حافظه پنهان DNS را از سیستم عامل شستشو می دهید.

اگر از Windows استفاده می کنید ، می توانید با باز کردن Command Prompt و وارد کردن دستورالعمل زیر حافظه پنهان DNS را شستشو دهید:

  ipconfig / flushdns  
Flushing the DNS Cache with Command Prompt

روشن کردن حافظه پنهان DNS با خط فرمان در ویندوز

باید یک “حافظه پنهان کننده حلال DNS با موفقیت شستشو داده شود” را مشاهده کنید. اگر کار کرد پیام دهید.

برای آخرین نسخه های macOS ، می توانید ترمینال را باز کرده و دستور زیر را اجرا کنید:

  sudo killall -HUP mDNSResponder  

پس از اتمام مراحل ، هیچ اعلانی در macOS مشاهده نخواهید کرد ، اما می توانید با ضمیمه کردن دستور با پیام سفارشی ، آن را تغییر دهید.

  sudo killall -HUP mDNSResponder؛ حافظه پنهان DNS با موفقیت پاک شد  

اگر از نسخه های قدیمی macOS استفاده می کنید ، دستوری که باید وارد کنید بر اساس نسخه MacOS اجرا می شود متفاوت است. برای جزئیات بیشتر ، می توانید به بخش macOS در DNS فلاش عمیق Kinsta مراجعه کنید. p >

اگر از سیستم عامل Linux استفاده می کنید ، فرایند کاملاً شبیه macOS است زیرا حتی Linux از Terminal به عنوان رابط خط فرمان خود استفاده می کند. از آنجا که توزیع های زیادی از لینوکس وجود دارد ، ممکن است دستور دقیق مورد نیاز برای اجرای آن از یک توزیع به دیگری متفاوت باشد. می توانید برای اطلاعات بیشتر به راهنمای Kinsta مراجعه کنید .

سرانجام ، می توانید سرورهای DNS سمت مشتری خود را به طور موقت تغییر دهید. به طور پیش فرض ، ISP شما سرورهای DNS را به طور خودکار به شما اختصاص می دهد. اما می توانید این موارد را به طور موقت به IP های DNS عمومی تغییر دهید.

برخی از موارد معتبری که می توانید امتحان کنید Google Public DNS ، Cloudflare 1.1.1.1 ، Quad9 DNS و Cisco OpenDNS .

Settings custom DNS servers in Windows 10

تنظیمات سرورهای DNS سفارشی در ویندوز 10

CDN سایت خود را به طور موقت غیرفعال کنید h3>

گاهی اوقات ، این مسئله می تواند با شبکه تحویل محتوا (CDN) شما باشد. اگر سرور مبدا یک سایت قابل دسترسی نباشد ، بیشتر CDN ها سعی می کنند صفحه وب کامل را از حافظه پنهان خود ارائه دهند.

اما اکثر CDN ها این ویژگی را به طور پیش فرض فعال نمی کنند زیرا مخفی کردن دارایی های پویا در اکثر سایت ها (به عنوان مثال داشبورد مدیر وردپرس ).

Setting the ‘Cache Everything’ page rule in Cloudflare

تنظیم قانون صفحه “Cache Everything” در Cloudflare

یک راه ساده برای عیب یابی این است که CDN خود را به طور موقت غیرفعال کنید. به عنوان مثال ، اگر از افزونه وردپرس CDN Enabler برای اتصال دارایی های سایت خود به URL های CDN استفاده می کنید ، می توانید افزونه را غیرفعال کرده و سایت خود را بارگیری مجدد کنید.

همین امر در مورد استفاده از هر افزونه دیگری که می توانید برای اتصال به CDN خود استفاده کنید (به عنوان مثال WP Rocket ، Breeze ، W3) حافظه پنهان کامل ).

اگر نمی توانید به داشبورد سرپرست سایت خود دسترسی پیدا کنید ، می توانید از طریق SFTP با تغییر نام پلاگین را غیرفعال کنید. نام پوشه افزونه.

Disable all plugins via SFTP by renaming the plugins folder name

با تغییر نام نام پوشه پلاگین ها ، تمام افزونه ها را از طریق SFTP غیرفعال کنید

CDN هایی مانند Cloudflare یا Sucuri که خدمات کامل پروکسی را ارائه می دهد ، فایروال های دیگری بین سرورهای لبه و سرور اصلی شما وجود دارد. از این رو ، ممکن است هنگام استفاده از آنها با خطاهای HTTP 5xx بیشتر روبرو شوید. اکثر آنها حافظه پنهان خطاهای 5xx بازگردانده شده توسط سرور اصلی شما ، بنابراین عیب یابی آنها آسان است.

برنامه رایگان Cloudflare مستعد ایجاد خطای 5xx است. متأسفانه ، از آنجا که این یک سرویس پروکسی کامل است ، راهی سریع برای غیرفعال کردن آن وجود ندارد. اما قبل از اینکه Cloudflare را بخاطر آن مقصر بدانید ، بدانید که Cloudflare دو تغییر خطای 504 Gateway Timeout .

504 Gateway Timeout در Cloudflare (تنوع 1) h4>

وقتی سرور مبدا سایت شما با یک پاسخ استاندارد HTTP 504 پاسخ می دهد ، Cloudflare صفحه خطای سفارشی 504 Gateway Timeout را به شما نشان می دهد.

Cloudflare’s custom Error 504 screen

صفحه سفارشی Cloudflare 504 صفحه

در اینجا ، مشکل از وب سرور شماست و نه Cloudflare. می توانید آن را با سایر راه حل های ذکر شده در زیر حل کنید یا برای راهنمایی فنی با پشتیبانی ارائه دهنده میزبانی خود تماس بگیرید.

504 Gateway Timeout در Cloudflare (تنوع 2) h4>

اگر Cloudflare باعث خطای 504 Gateway Timeout شود ، در صفحه خطا “cloudflare” ذکر می شود که در حال حاضر نام استاندارد سرور برای تمام دارایی های Cloudflare است. معمولاً صفحه خطا به صورت زیر ظاهر می شود:

504 Gateway Timeout error caused by Cloudflare

صفحه خطا برای 504 Gateway Timeout ناشی از Cloudflare

از آنجا که Cloudflare خود واکنش نشان نمی دهد ، صفحه نمایش خطای مارک Cloudflare را در اینجا مشاهده نخواهید کرد.

به احتمال زیاد ، Cloudflare از قبل از این مسئله آگاه بوده و از قبل در حال رفع مشکل است. با بررسی صفحه وب وضعیت سیستم Cloudflare می توانید این مورد را تأیید کنید. در غیر اینصورت ، برای وضوح سریعتر می توانید با پشتیبانی Cloudflare در تماس باشید .

Check Cloudflare System Status at cloudflarestatus.com

منبع:
https://kinsta.com/blog/504-gateway-timeout/.

دیدگاهتان را بنویسید