بررسی خطای 502 Bad Gateway در وردپرس و روشهای رفع آن
502 Bad Gateway چگونه خطایی است؟ در وردپرس چه زمانی رخ می دهد؟
با سئوبلک همراه باشید تا به معرفی این خطا و راه حل مقابله با آن بپردازیم.
خطای 502 Bad Gateway در وردپرس
خطای 502 Bad Gateway در وردپرس دلایل متعددی می تواند داشته باشد و یافتن دلیل رخ دادن این خطا می تواند اندکی زمانبر باشد.
در این مقاله روش رفع خطای 502 Bad Gateway در وردپرس را بررسی کرده ایم .با ما همراه باشید.
خطای 502 Bad Gateway در وردپرس چیست؟
خطای 502 Bad Gateway زمانی رخ می دهد که سرور میزبان سایت شما به درخواست ارسالی کاربر ، پاسخ نامعتبری بدهد.
خطای 502 Bad Gateway یکی از مرسوم ترین خطاهای وردپرس است که می تواند برای سایت وردپرسی شما رخ دهد.
این ارور دارای دلایل متعددی است که با توجه به سرور سایت ، یکی از این دلایلی که در ادامه به بررسی آن ها پرداخته ایم می تواند سبب رخ دادن آن شود.
زمانیکه یک کاربر سایتی را بارگذاری می کند ، مرورگر درخواستی را به سمت سرور سایت ارسال می کند.
سرور درخواست دریافتی را بررسی کرده و صفحه ای که مطابق با آن درخواست باشد را به همراه یک کد وضعیت به سمت مرورگر ارسال می کند.
به طور معمول ، کد وضعیت به شما نمایش داده نمی شود اگرچه در صورتیکه خطایی در این پروسه ارسال و دریافت رخ دهد ، کد وضعیت خطا به همراه پیغامی به شما نمایش داده می شود.
معمولترین دلیل رخ دادن این خطا ، زمانبر بودن پاسخدهی سرور سایت به درخواست ارسالی کاربر است.
این تأخیر و رخ دادان خطای 502 bad gateway می تواند به دلیل قطعی موقت سرور ناشی از ترافیک بالای سایت ، کدنویسی ضعیف در افزونه یا قالب وردپرس و یا اشتباه در پردازش توسط سرور باشد.
برطرف کردن خطای 502 bad gateway در وردپرس
قدم اول : Reload کردن سایت
در برخی از مواقع ممکن است پاسخدهی سرور به درخواست شما به غلت ترافیک بالای سایت ، مدت زمان زیادی طول بکشد و همین مورد سبب رخ دادن این خطا شود.
در این حالت جند دقیقه منتظر بمانید و صفحه سایت را مجدداً بارگذاری کنید تا در صورت کاهش ترافیک ورودی سایت ، سایت به درستی بارگذاری شود.
قدم دوم : پاک کردن Cache مرورگر
نمایش خطای 502 bad gateway به شما می تواند به علت استفاده مرورگر از اطلاعات ذخیره شده در Cache باشد.
با توجه به اینکه در این وضعیت ، مرورگر سایت شما را از Cache خود بارگذاری می کند ،
می بایست Cache مرورگر را پاک کرده و یا از کلیدهای Ctrl + F5 برای استفاده نکردن از اطلاعات Cache برای لودشدن سایت استفاده کنید.
قدم سوم : غیرفعال کردن CDN یا Firewall
در صورتیکه از سرویس های CDN یا Firewall بر روی سایت خود استفاده می کنید ، ممکن است سرور دچار مشکل شده و خطای 502 bad gateway رخ دهد.
برای بررسی این مورد باید سرویس CDN را غیرفعال کنید.
پس از غیرفعال کردن CDN ، لایه ی اضافی ای که بین مرورگر و سرور سایت قرار داشته حذف می شود و سایت مستقیماً توسط سرور بارگذاری می شود.
در صورتیکه سرویس CDN سبب این خطا شده است ، با پشتیبانی آن تماس بگیرید و پس از برطرف شدن مشکل ، مجدداً CDN را فعال کنید.
قدم چهارم : آپدیت کردن پلاگین ها و قالب وردپرس
در صورتیکه پس از تست مراحل فوق ، خطای 502 bad gateway کماکان وجود داشت ، باید پلاگین ها و قالب سایت خود را بررسی کنید.
در ابتدا تمامی پلاگین های سایت را غیرفعال کنید ، سپس سایت خود را برای بررسی رفع شدن مشکل مجدداً لود کنید.
چنانچه پس از انجام این کار ، سایت به درستی لود شد ، یکی از پلاگین ها باعث رخ دادن خطای 502 bad gateway شده است.
برای یافتن این پلاگین باید تمامی پلاگین های سایت را یکی یکی و به ترتیب فعال کنید تا پلاگین مشکلدار را پیدا کنید.
در صورتیکه این پلاگین برای سایت شما ضروری نبود ، می توانید آن را حذف نمایید و یا از یک پلاگین جایگزین استفاده کنید.
همچنین می توانید مشکل رخ داده را به تیم توسعه دهنده ی آن پلاگین ارجاع دهید تا مشکل را برطرف کنند.
قالب سایت نیز می تواند سبب این خطا شود که در این مورد می بایست قالب را با یکی از قالب های پیش فرض وردپرس جایگزین و سایت را تست کنید.
قدم پنجم : بررسی سرور سایت
اگر خطای 502 bad gateway با استفاده از یکی از روش های فوق برطرف نشد ، به این نتیجه خواهیم رسید که مشکلی در سرور میزبان سایت شما رخ داده است.
برای رفع آن می بایست با پشتیبان سرور سایت تماس بگیرید تا دلیل خطا را پیدا و رفع کنند.
رفع خطای 502 Bad Gateway در تمامی پلتفرم ها + وردپرس
گونههای مختلف خطای 502 Bad Gateway
به خاطر تفاوتهایی که در مرورگرها، سرورها و سیستمهای عامل وجود دارد، خطای 502 Bad Gateway به صورتهای مختلفی نمایش پیدا میکند ولی معنی همه آنها یکسان است. در زیر نمونههای مختلفی از این خطا آورده شده است.
- “502 Bad Gateway”
- “Error 502”
- “HTTP Error 502 – Bad Gateway”
- “502 Service Temporarily Overloaded”
- “502 Proxy Error”
- A blank white screen
- “502 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: The proxy server received an invalid response from an upstream server
- “502 server error”
نمونه دیگر آن به شکل زیر است:

سرویسهای دیگر مانند Twitter پیامی کاملا متفاوت برای این خطا نشان میدهد.
مثلا “Twitter is over capacity”. این پیام در شکل زیر نمایش داده شده است.

همچنین، در گوگل، خطای 502 Bad Gateway به صورت زیر نمایش داده میشود.

بیشتر بخوانید:
نقش خطای 502 Bad Gateway در سئو
بر خلاف خطاهای 503 که به گوگل میگوید که در زمان دیگری به سایت سر بزند، خطای 502، اگر سریع بر طرف نشود، بر سئو تاثیر منفی میگذارد.
اگر سایت شما برای 10 دقیقه از کار افتاده باشد ولی برای مدتی نسبتا طولانی به شکل مناسبی عمل کرده باشد سایت میتواند از کش دلیور شود.
اصلا ممکن است گوگل تا قبل از بک آپ به سراغ فراخوانی مجدد سایت شما نرود.
ولی اگر سایت شما برای مدتی بیشتر از 6 ساعت خراب باشد، ممکن است گوگل تشخیص دهد که خطای 502 اتفاق افتاده است و این بر رنکینگ سایت شما تاثیر خواهد گذاشت.
اگر نگران تکرار خطای 502 هستید باید ببینید که اصولا این نوع خطاها به چه علتی اتفاق میافتند.
در ادامه به بررسی این موضوع میپردازیم و بعضی از راه حلها را معرفی خواهیم کرد.
چگونگی رفع خطای 502 Bad Gateway
خطای 502 Bad Gateway در حالت کلی ناشی از مشکل شبکه / سرور است.
هر چند این نیز ممکن است که مشکل از طرف مشتری باشد. ما هر دو حالت را مختصرا بررسی میکنیم.
در ادامه خواهید دید که علتهای معمول این خطا چیست و چگونه میتوان آنها را بر طرف کرد.
صفحه را دوباره لود کنید
اولین و سادهترین کاری که در هنگام مواجهه با خطای 502 Bad Gateway انجام میدهید این است که چند دقیقه صبر میکنید و سپس صفحه را ریفرش میکنید.
ممکن است هاست یا سرور سنگین شده باشد و بالا آمدن سایت مورد نظر شما به زمان احتیاج داشته باشد.
در زمانی که منتظر هستید میتوانید یک مرورگر دیگر را نیز امتحان کنید. شاید مشکل از مرورگر باشد.
راه دیگر این است که آدرس سایت را در downforeveryoneorjustme.com وارد کنید تا ببینید آیا مشکل از طرف وبسایت است یا از طرف شما.

کش مرورگر را پاک کنید
پاک کردن کش گاها به رفع خطای 502 Bad Gateway کمک میکند. این روش را هم امتحان کنید.
مشکل DNS
خطای 502 Bad Gateway ممکن است به خاطر مشکل DNS باشد، مثلا ممکن است نام دامنه به IP صحیح برگردانده نشود.
اگر به تازگی سایت خود را به یک هاست انتقال داده باشید، برای انتشار (propagation) کامل آن گاها لازم است تا 24 ساعت منتظر بمانید.
این زمان به مقدار اختصاص داده شده به TTL بستگی دارد.
شما میتوانید کش DNS را هم مانند کش مرورگر پاک کنید.
برای انجام این کار در ویندوز، Command Prompt را باز و دستور زیر را وارد کنید:
ipconfig /flushdns

اگر کار به درستی انجام شود باید پیام “Successfully flushed the DNS resolver Cache” را مشاهده کنید.
کاربران macOS باید دستور زیر را در ترمینال وارد کنند.
dscacheutil –flushcache
البته در این مورد بعد از انجام موفقیت آمیز کار، پیامی به کاربر نمایش داده نمیشود.
نکته آخر اینکه میتوانید سرور DNS را تغییر دهید. به طور پیشفرض سرورهای DNS به وسیله ISP شما تعیین میشود.
ولی شما میتوانید به طور موقت یکی از سرورهای عمومی مانند (Googles (8.8.8.8 – 4.2.2.4را انتخاب کنید.
اگر DNS شما پریمیوم باشد، فرایند انتشار در زمانی کوتاهتر انجام میشود.
مسئله را با پشتیبان سرور خود در میان بگذارید
علت اصلی خطای 502 Bad Gateway وجود ایراد در سرور است. بعضی مواقع سرورها یک درخواست را کنسل میکنند.
در واقع اگر درخواست زمانگیر باشد و روی عملکرد بقیه مشتریان تاثیر منفی بگذارد، ممکن است درخواست شما رد شود (یا به اصطلاح kill شود).
این اتفاق مخصوصا در سرورهای اشتراکی پیش میآید.
مسئله دیگر این است که بعضی اوقات سرورها از کار میافتند یا اتصال آنها قطع میشود.
در این مواقع نیز خطای 502 Bad Gateway رخ خواهد داد.
غیر فعال کردن CDN و فایروال
ممکن است مشکل از طرف CDN) content delivery network) یا فایروال باشد.
اگر CDN را شخص ثالث در اختیار شما قرار داده است، بهتر است موقتا آن را غیر فعال کنید.
ما معمولا از افزونه ی CDN enabler استفاده میکنیم. میتوان به سادگی آن را برای مدتی غیر فعال کرد و سایت را تست کرد. اگر به داشبورد سایت خود دسترسی ندارید، از طریق SFTP وارد سایت خود شوید و نام پوشه افزونه را به cdn-enabler_old تغییر دهید.
این کار به طور موقت اتصال CDN را قطع میکند.
همین مسئله در مورد افزایه WP Rocket و سایر افزایههایی که به CDN مربوط میشود نیز برقرار است.

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

حالت دوم به صورت زیر است و بدین معنیست که مشکل از طرف هاست شماست.

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

افزونهها و تمهای خود را بررسی کنید
در اکثر مواقع کدهای غلط در افزونهها و تمها هستند باعث ایجاد خطاهای 502 میشود.
غیر فعال کردن افزونهها در این حالت میتواند به حل مشکل کمک کند.
به یاد داشته باشید که این کار باعث از بین رفتن دادههای شما نمیشود.
اگر به ادمین دسترسی داشته باشید، میتوانید به سادگی عبارت “Plugins” را جستجو کرده و آن را از طریق منوی Bulk Actions غیر فعال کنید.
در این صورت تمام افزایهها غیر فعال خواهند شد. اگر مشکل با این کار حل شد میتوانید مطمئن باشید که ایراد با یکی از افزونهها است.
برای اینکه متوجه شوید کدام افزونهها مشکل ایجاد میکند،
بررسی کلی:
باید آنها را یکی یکی فعال کنید و بعد از هر کدام یک بار صفحه را لود کنید تا ببینید آیا خطا میدهد یا خیر.
هر وقت که خطای 502 ظاهر شد، مشخص میشود که خطا از آخرین افزونه ای است که فعال کردهاید.
بعد از آن میتوانید با سازنده آن افزایه مشورت کنید یا مشکل را با وردپرس مطرح کنید.

اگر به ادمین دسترسی ندارید میتوانید در سرور خود نام پوشه افزونهها را به چیزی مانند plugins_old تغییر دهید.
یک بار دیگر سایت را لود کنید. اگر این بار به مشکلی برخورد نکردید باز هم میتوان گفت که ایراد از افزونهها ست.
حال باید تک تک افزونهها را امتحان کنید تا ببینید ایراد از کدام است.
برای این منظور دوباره نام پوشه اول را plugins بگذارید.
سپس پوشههای داخل آن را یکی یکی تغییر نام داده و سایت را لود کنید.
همیشه افزونهها ، تمها و وردپرس را آپدیت کنید.
همچنین مطمئن شوید که نسخه PHP شما در سیستم پشتیبانی میشود. همواره میتوانید از هاست خود کمک بگیرید.
در بعضی مواقع، از جمله زمانی که مشکل از کدهای نادرست در افزایه باشد، WordPress developer میتواند به شما در رفع اشکال کمک کند.
قسمت ثبت رخداد را نگاه کنید
قسمت ثبت خطاها (error logs) میتواند به شما در رفع اشکالات کمک کند.
کد زیر را در فایل wp-config.php اضافه کنید تا عملیات ثبت خطا فعال شود.
;(define( ‘WP_DEBUG’, true
;(define( ‘WP_DEBUG_LOG’, true
;( ‘WP_DEBUG_DISPLAY’, false )
log ها معمولا در دارکتوری /wp-content قرار دارند،
همچنین میتوانید فایلها log را درApache و NGINX که در مسیرهای زیر قرار دارند مشاهده کنید:
- Apache: /var/log/apache2/error.log
- NGINX: /var/log/nginx/error.log
PHP را ریاستارت کنید
در نهایت میتوانید ریاستارت PHP را هم امتحان کنید.
اگر هاستی که شما از آن استفاده میکنید این قابلیت را ندارد،
یک تیکت باز کرده و از آنها بخواهید PHP را ریاستارت کنند. البته با تغییر نسخه پی اچ پی نیز می توانید خودتان این کار را انجام دهید.
PHP Timeout
این اتفاق زمانی میافتد که یکی از پردازشهای PHP بیشتر از زمان max_execution_time یا max_input_time که در ساختار PHP سرور شما تعیین شده است، طول بکشد.
در این صورت معمولا خطای 502 نمایش داده میشود.
برای رفع مشکل در این حالت میتوانید زمانهای max_execution_time یا max_input_time را افزایش دهید.
از پشتیبان هاست خود سوال کنید که این زمانها روی چه مقادیری تنظیم شده است و اینکه آیا میتوان آنها را افزایش داد.
خلاصه
همانطور که مشاهده کردید چند روش برای برطرف کردن خطای 502 Bad Gateway وجود دارد.
معمولا این مشکل از جانب شما نیست بلکه به هاست شما ربط دارد.
همچنین ممکن است این خطا به خاطر کدهای اشتباه افزونهها و تمها باشد.
منابع:
