هنگامی که صحبت از وبسایتها میشود، خطاهای مختلفی وجود دارد که میتوانند واقعا ناامیدکننده و گیجکننده باشند. برخی از آنها شامل صفحه سفید مرگ یا خطای ترسناک «اتصال به پایگاهداده برقرار نمیشود» هستند.
اما یکی از رایجترین آنها، خطای ۵۰۲ Bad Gateway است. چرا؟ چون این خطا بهطور مرتب در سراسر وب رخ میدهد، نه فقط برای سایتهای وردپرس، بلکه حتی سرویسهای محبوبی مانند Gmail، Twitter و Cloudflare نیز با آن روبرو میشوند.
در ادامه بیشتر در مورد علتهای این خطا و راهحلهایی برای رفع سریع آن توضیح خواهیم داد.
مطمئناً، در اینجا جدول مربوط به خطای ۵۰۲ Bad Gateway آورده شده است:
| عنوان | توضیحات |
|---|---|
| کد خطا | ۵۰۲ Bad Gateway Error |
| نوع خطا | خطای سمت سرور |
| انواع مختلف خطا | – “۵۰۲ Bad Gateway” – “Error 502” – “HTTP Error 502 – Bad Gateway” – “۵۰۲ Service Temporarily Overloaded” – “۵۰۲ Proxy Error” – صفحه سفید خالی – “۵۰۲ Server Error: The server encountered a temporary error and could not complete your request” – “HTTP 502” – Temporary Error (502) – ۵۰۲. That’s an error – ۵۰۲ bad gateway Cloudflare – Bad Gateway: The proxy server received an invalid response from an upstream server |
| علل خطای ۵۰۲ | – بار زیاد روی سرور – مشکلات مرورگر – مشکلات DNS – مشکلات میزبان وب – بلاک شدن توسط فایروال – خطاهای مربوط به پلاگینها و تمها |
این جدول خلاصهای از خطای ۵۰۲ Bad Gateway و علل آن بههمراه انواع مختلف خطاهای مرتبط را نشان میدهد.
خطای ۵۰۲ Bad Gateway چیست؟
خطای ۵۰۲ Bad Gateway بهطور خاص به این معناست که سرور یک پاسخ نامعتبر از سرور ورودی دریافت کرده است.
سازمان مهندسی اینترنت (IETF) خطای ۵۰۲ Bad Gateway را بهصورت زیر تعریف میکند:
کد وضعیت ۵۰۲ (Bad Gateway) نشان میدهد که سرور، در حالی که بهعنوان یک گیتوی یا پروکسی عمل میکند، یک پاسخ نامعتبر از یک سرور ورودی دریافت کرده است که در تلاش برای انجام درخواست به آن دسترسی پیدا کرده بود.
هر بار که شما یک وبسایت را بازدید میکنید، مرورگر شما یک درخواست به سرور وب ارسال میکند. سرور وب درخواست را دریافت کرده و پردازش میکند و سپس منابع درخواست شده همراه با هدر HTTP و کد وضعیت HTTP را ارسال میکند. معمولاً کد وضعیت HTTP زمانی دیده میشود که مشکلی پیش آمده باشد. این اساساً راهی است که سرور به شما اطلاع میدهد که مشکلی رخ داده است، همراه با کدی برای تشخیص آن.
کدهای وضعیت ۵۰۰ خطا (۵۰۰، ۵۰۱، ۵۰۲، ۵۰۳، ۵۰۴، ۵۰۸، ۵۲۰ و غیره) انواع مختلفی دارند که هرکدام معنای کمی متفاوتی دارند.
این کدها نشان میدهند که درخواست پذیرفته شده است، اما سرور از انجام آن جلوگیری کرده است.
علل خطای ۵۰۲ Bad Gateway چیست؟
علل محتمل خطای ۵۰۲ Bad Gateway عبارتند از:
بار زیاد سرور: سرور منابع کافی نداشته و کرش کرده است که باعث بروز خطای HTTP 502 میشود. دلایل احتمالی این مشکل میتواند شامل افزایش ناگهانی ترافیک یا حافظه کم باشد.
مشکلات مرورگر: نسخه مرورگر شما ممکن است قدیمی باشد یا ممکن است فایلهای خراب در کش مرورگر شما وجود داشته باشد.
بلاک شدن توسط فایروال: ممکن است فایروال شما تهدیدات نادرست را شناسایی کرده و اینترنت پرووایدرها یا آدرسهای IP خاصی را مسدود کند.
چگونه خطای ۵۰۲ Bad Gateway را رفع کنیم؟
خطای ۵۰۲ Bad Gateway معمولاً مشکلی در شبکه یا سرور است، اما ممکن است یک مشکل سمت کلاینت هم باشد. در اینجا به برخی از روشهای رایج برای رفع این خطا پرداختهایم تا دوباره سایت شما به درستی کار کند:
صفحه را دوباره بارگذاری کنید
یکی از سادهترین و اولین کارهایی که باید هنگام مواجهه با خطای ۵۰۲ Bad Gateway امتحان کنید، این است که کمی صبر کرده و صفحه را دوباره بارگذاری کنید (F5 یا Ctrl + F5). ممکن است سرور یا هاست بهطور موقت بار زیادی داشته باشد و سایت به زودی درست شود.
وضعیت سایت را بررسی کنید
کار دیگری که میتوانید انجام دهید این است که آدرس وبسایت را در downforeveryoneorjustme.com وارد کنید. این وبسایت به شما خواهد گفت که آیا سایت قطع شده است یا مشکل از سمت شماست. همچنین ابزارهای دیگری نیز وجود دارند که میتوانند کمک کنند.
از مرورگر دیگری استفاده کنید
شما میتوانید از مرورگر دیگری استفاده کنید تا این مشکل را بررسی کنید. بهعنوان مثال، اگر از Google Chrome استفاده میکنید، سعی کنید از Microsoft Edge استفاده کنید.
اگر خطا از بین رفت، ممکن است بهتر باشد مرورگری که ابتدا استفاده کردهاید را حذف کرده و دوباره نصب کنید.
در حالت ناشناس امتحان کنید
همچنین میتوانید سایت را در حالت ناشناس (Incognito) باز کنید. اگر خطای ۵۰۲ Bad Gateway بروز نکرد، ممکن است مشکل از افزونههای مرورگر باشد.
اما چگونه افزونه مسبب را شناسایی کنیم؟ سعی کنید افزونهها را یکی یکی غیرفعال کنید و بررسی کنید که آیا وبسایت بهطور طبیعی بارگذاری میشود یا نه.
وقتی این اتفاق افتاد، افزونهای که دسترسی شما را مسدود میکرد حذف کردهاید.
روی دستگاه دیگری تست کنید
اگر به نظر میرسد مشکل از سمت شما باشد، میتوانید سعی کنید سایت را روی دستگاه دیگری باز کنید.
آزمایش کنید: از دادههای موبایل گوشی خود برای دسترسی به صفحه مورد نظر استفاده کنید. اگر موفق شدید، کامپیوتر و دیگر دستگاههای شبکه خود را ریستارت کنید، با دنبال کردن نکته کلاسیک که روتر بیسیم خود را از پریز بکشید، مدتی صبر کنید و دوباره وصل کنید.
اینگونه متوجه میشوید که آیا خطا مربوط به دستگاههای شبکه شماست یا چیز دیگری.
کش مرورگر خود را پاک کنید
هر بار که با مشکلاتی مانند این مواجه میشوید، پاک کردن کش مرورگر میتواند مفید باشد.
مشکلات DNS را بررسی کنید
خطای ۵۰۲ Bad Gateway همچنین ممکن است به دلیل مشکل در DNS باشد، مثلاً دامنه به IP صحیح ارجاع نمیشود یا سرور DNS پاسخ نمیدهد. اگر اخیراً سایت خود را به یک هاست جدید منتقل کردهاید، مهم است که صبر کنید تا همهچیز بهطور کامل منتشر شود که ممکن است در بعضی از موارد تا ۲۴ ساعت طول بکشد. این به مقدار TTL (زمان زندگی) رکوردهای DNS شما بستگی دارد.
همچنین میتوانید کش DNS محلی خود را پاک کنید. این مشابه پاک کردن کش مرورگر است.
در ویندوز، کافی است Command Prompt را باز کرده و دستور زیر را وارد کنید:
ipconfig /flushdns

باید پیغام “Successfully flushed the DNS resolver Cache” را ببینید اگر موفقیتآمیز بوده باشد.
برای کاربران macOS، میتوانید دستور زیر را در ترمینال وارد کنید:
dscacheutil -flushcache
توجه: در macOS پیغام موفقیت وجود ندارد.
و در نهایت، میتوانید بهطور موقت سرورهای DNS خود را تغییر دهید. بهطور پیشفرض، سرورهای DNS بهطور خودکار توسط ارائهدهنده خدمات اینترنتی (ISP) شما اختصاص داده میشوند. اما میتوانید سعی کنید این سرورها را به یک سرور DNS عمومی مانند گوگل تغییر دهید. در واقع، برخی ترجیح میدهند که از DNS عمومی گوگل بهطور بلندمدت استفاده کنند. اگر DNS پریمیوم دارید، معمولاً انتشار آن سریعتر خواهد بود.
با هاست خود بررسی کنید
دلیل اصلی که معمولاً خطای ۵۰۲ Bad Gateway را مشاهده میکنیم، مربوط به مشکل با هاست وب است. گاهی اوقات یک درخواست، اسکریپت یا کوئری بیش از حد طول میکشد و بنابراین توسط سرور لغو یا متوقف میشود. بسیاری از هاستها، بهویژه هاستهای اشتراکی، اقدام به پیادهسازی چیزی به نام “اسکریپت کُشنده” میکنند. اساساً این کار باعث میشود که پس از مدت زمان معینی درخواست خاتمه یابد تا سایت از دست نرود یا تأثیری بر سایر کاربران نگذارد. اگر در توییتر جستجویی برای “bad gateway” انجام دهید، میتوانید هزاران توییت هر روز ببینید که کاربران هاستینگ خود را از این مشکل آگاه میکنند.
یکی از دلایل ممکن برای بروز خطای ۵۰۲ Bad Gateway این است که سرور بهسادگی در دسترس نباشد، مثلاً به دلیل خرابی یا قطع ارتباط. گاهی اوقات، درخواستها یا اسکریپتها ممکن است خیلی طول بکشد و سرور آنها را لغو کند. این مسئله بهویژه در هاستهای اشتراکی رایج است که برای جلوگیری از تأثیر منفی بر دیگر کاربران، از اسکریپتهای کُشنده استفاده میکنند.
اگر سرور شما در دسترس نباشد، میتوانید صفحه وضعیت هاست خود را بررسی کنید یا تیکت پشتیبانی ارسال کنید تا مشکل بررسی و حل شود. همچنین، این مشکل ممکن است به دلیل عدم دسترسی به سرور باشد که در این صورت باید اتصال خود را بررسی کنید.
غیرفعال کردن موقت CDN یا فایروال
ممکن است مشکل مربوط به شبکه تحویل محتوا (CDN) یا فایروال شما باشد. اگر از ارائهدهنده CDN شخص ثالث استفاده میکنید، یک روش ساده برای عیبیابی این است که بهطور موقت CDN خود را غیرفعال کنید. بهعنوان مثال، ما از پلاگین رایگان CDN Enabler استقبال میکنیم. اگر از این پلاگین استفاده میکنید، میتوانید به سادگی پلاگین را غیرفعال کرده و سپس سایت خود را تست کنید.
اگر wp-admin کار نمیکند، کافی است از طریق SFTP وارد سایت خود شوید و پوشه پلاگین را به cdn-enabler_old تغییر نام دهید. این کار بهطور موقت اتصال CDN را غیرفعال میکند. همین کار برای WP Rocket یا هر پلاگین دیگری که به CDN شما متصل است نیز صدق میکند.

این مشکل گاهی اوقات با ارائهدهندگانی که خدمات محافظت و کاهش حملات DDoS یا خدمات پروکسی کامل مانند Cloudflare را ارائه میدهند، رخ میدهد، زیرا آنها دیوار آتش اضافی بین سرور شما و اینترنت دارند. ما متوجه شدهایم که این مشکل گاهی اوقات در طرح رایگان Cloudflare پیش میآید. متاسفانه، چون Cloudflare یک سرویس پروکسی کامل است، راه سریع و سادهای برای غیرفعال کردن آن وجود ندارد.
با این حال، قبل از اینکه بخواهید Cloudflare را مقصر بدانید، مهم است که بدانید دو نوع مختلف از خطای ۵۰۲ Bad Gateway در Cloudflare وجود دارد که در زیر به آن اشاره شده است:
۵۰۲ Bad Gateway در Cloudflare (نوع ۱)
اگر صفحه زیر را مشاهده کردید، این مشکل واقعاً در سمت Cloudflare است، در این صورت باید برای پشتیبانی با آنها تماس بگیرید. همچنین میتوانید صفحه وضعیت Cloudflare را بررسی کنید تا ببینید آیا آنها در حال حاضر با مشکلی روبهرو هستند یا خیر.

۵۰۲ Bad Gateway در Cloudflare (نوع ۲)
اگر صفحه زیر را مشاهده کردید، این مشکل مربوط به هاست شما است.

فایروال GoDaddy
در اینجا یک مثال دیگر از خطای HTTP 502 و فایروال GoDaddy آورده شده است. مشکل در واقع مربوط به سرور مبدا (ارائهدهنده هاست) به دلیل تایماوت است و نه خود فایروال.

۱۰. پلاگینها و تمها را بررسی کنید
بسیاری از اوقات دلیل لغو اسکریپتها و درخواستها توسط سرور به دلیل کدهای نادرست در سایت شما است، که ممکن است ناشی از پلاگین یا تم شخص ثالث باشد. همچنین مشاهده کردهایم که پلاگینهای کش پیکربندی نشده میتوانند خطاهای ۵۰۲ ایجاد کنند. چند روش برای عیبیابی این موضوع عبارتند از غیرفعال کردن تمام پلاگینها. به یاد داشته باشید که با غیرفعال کردن یک پلاگین، هیچ دادهای از دست نمیدهید.
اگر هنوز میتوانید به پنل مدیریت دسترسی پیدا کنید، یک روش سریع برای این کار این است که به بخش “Plugins” رفته و از منوی اقدامات دستهجمعی گزینه “Deactivate” را انتخاب کنید. این کار تمام پلاگینها را غیرفعال میکند. اگر این مشکل را حل کرد، باید پلاگین مشکلساز را پیدا کنید. هر پلاگین را به ترتیب فعال کرده و پس از هر فعالسازی سایت را بارگذاری کنید. زمانی که خطای ۵۰۲ دوباره ظاهر شد، پلاگین مشکلساز را پیدا کردهاید. سپس میتوانید برای کمک به توسعهدهنده پلاگین مراجعه کنید یا یک تیکت پشتیبانی در مخزن وردپرس ارسال کنید.

اگر نمیتوانید به پنل مدیریت خود دسترسی پیدا کنید، میتوانید از طریق FTP وارد سرور خود شوید و پوشه پلاگینها را به نامی مانند “plugins_old” تغییر دهید. سپس دوباره سایت خود را بررسی کنید. اگر کار کرد، باید هر پلاگین را بهطور جداگانه تست کنید. پوشه پلاگینهای خود را به نام “plugins” بازگردانده و سپس هر پوشه پلاگین داخل آن را یکی یکی تغییر نام دهید تا پلاگین مشکلساز را پیدا کنید.

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

اگر مشکل ناشی از یک پرسوجوی ناکارآمد یا کد نادرست در یک پلاگین باشد، ممکن است نیاز باشد که یک توسعهدهنده وردپرس برای رفع مشکل وارد عمل شود.
بررسی لاگها
شما باید از لاگهای خطای خود استفاده کنید. اگر از یک سرویس خاص استفاده میکنید، میتوانید به راحتی خطاها را در مشاهدهگر لاگها در داشبورد دسترسی خود مشاهده کنید. این میتواند به شما کمک کند تا سریعتر مشکل را شناسایی کنید، بهویژه اگر مشکل ناشی از یک پلاگین در سایت شما باشد.
همانطور که مشاهده میکنید، چندین کار مختلف برای عیبیابی و رفع خطای ۵۰۲ گیتوی بر روی سایت شما وجود دارد. معمولاً این مشکل از سمت کلاینت نیست، بلکه مشکلی است با هاست شما. پلاگینها و تمهای شخص ثالث با کد بد یا پرسوجوهای بهینهنشده نیز از مسائلی هستند که باید مراقب آنها باشید.












