خطای 502 Bad Gateway در پروکسی: تشخیص منشأ خطا
Updated:
خطای 502 Bad Gateway به این معناست که یک سرور واسط، که میتواند پروکسی شما یا سرور فرانتاند خود سایت باشد، درخواست را ارسال کرده اما پاسخ معتبری دریافت نکرده است. یک کد خطا با دو منشأ کاملاً متفاوت؛ بنابراین قبل از هر اقدامی باید مشخص کنید چه کسی خطای 502 را ارسال میکند.
خطای 502 از سمت پروکسی چگونه به نظر میرسد
ما پروکسی آزمایشی خود را طوری تنظیم کردیم که خطای 502 بدهد و پاسخها را با اطلاعات 203.0.113.10:8080 و user123:pass456 ثبت کردیم:
- سایت HTTPS: دستور
curl -x http://user123:[email protected]:8080 https://example.comعبارتcurl: (56) CONNECT tunnel failed, response 502را نمایش میدهد. - سایت معمولی HTTP: ابزار curl وضعیت
502را دریافت میکند. - مرورگر Chrome هنگام بارگذاری صفحه HTTPS از طریق این پروکسی، خطای
ERR_TUNNEL_CONNECTION_FAILEDرا گزارش کرده و اصلاً صفحه 502 نمایش نمیدهد. - ابزار proxy checker وضعیت
HTTP 502را نشان میدهد؛ سایر کدها نیز به صورتHTTP <code>ظاهر میشوند.
نشانه اصلی: نمایش صفحه 502 در یک سایت HTTPS
برای سایتهای HTTPS، پروکسی فقط یک تونل ارتباطی باز میکند و نمیتواند صفحه اختصاصی خود را درون یک اتصال رمزگذاریشده قرار دهد. اگر پروکسی درخواست را رد کند، Chrome خطای ERR_TUNNEL_CONNECTION_FAILED را نمایش میدهد. بنابراین وقتی یک صفحه کامل "502 Bad Gateway" را روی یک آدرس https:// میبینید، تقریباً با قطعیت از سمت سرور وبسایت ارسال شده است، نه از سمت پروکسی.
برای اطمینان، پروکسی را خاموش کرده و همان صفحه را مجدداً باز کنید. اگر همچنان خطای 502 دریافت میکنید، سایت دچار مشکل شده است و تنها کاری که میتوانید انجام دهید صبر کردن یا اطلاع دادن به مدیر سایت است.
چه زمانی پروکسی واقعاً خطای 502 ارسال میکند
- مقصد به پروکسی پاسخ نمیدهد. سایت از دسترس خارج شده، بار ترافیکی بالایی دارد یا اتصالهای رنج IP پروکسی را رد میکند.
- دامنه اشتباه تایپ شده یا غیرقابل شناسایی است. پروکسی نمیتواند آدرس سایت را پیدا کند، بنابراین مقصدی برای ارسال درخواست وجود ندارد.
- پورت مقصد بسته است. درخواست به پورتی ارسال شده که سایت روی آن پاسخی نمیدهد.
- اختلال موقت از سمت پروکسی. این مورد نادرتر است؛ زمانی متوجه آن میشوید که باز کردن همه سایتها با یک پروکسی خطای 502 بدهد اما با پروکسی دیگر کار کند.
اقدامات لازم در هر محیط کاری
- پروفایلهای Chrome یا مرورگرهای آنتیدیتکت: یک سایت معتبر و بزرگ دیگر را در همان پروفایل باز کنید. اگر باز شد، پروکسی سالم است و مشکل از سایت اصلی است.
- گوشیها: پروکسی Wi-Fi را خاموش کنید و صفحه را با اینترنت دیتا تست کنید تا ببینید آیا سایت برای همه مشکل دارد یا خیر.
- ابزار curl: پارامتر
-vرا اضافه کنید تا مشاهده کنید خطای 502 دقیقاً بعد ازCONNECTدریافت میشود، سپس با دامنه دیگری تست کنید تا علت را محدودتر کنید. - کتابخانه Python requests: برای صفحات HTTP بررسی کنید
response.status_code == 502باشد و بعد از چند لحظه مکث مجدداً تلاش کنید؛ برای صفحات HTTPS خطای تونل به صورتrequests.exceptions.ProxyErrorایجاد میشود. به جای ارسال متوالی درخواستها، بین تلاشهای مجدد فاصله بگذارید.
گام به گام
- 1
محل نمایش خطای 502 را بررسی کنید
نمایش صفحه 502 در آدرس https نشاندهنده مشکل سایت است. خطای تونل در Chrome به مسیر پروکسی اشاره دارد.
- 2
پروکسی را خاموش کرده و دوباره صفحه را بارگذاری کنید
دریافت خطای 502 بدون پروکسی یعنی خود وبسایت دچار اختلال است.
- 3
سایت دیگری را با همان پروکسی باز کنید
اگر سایتهای دیگر کار کنند، پروکسی سالم است و تنها سایت اولیه از دسترس خارج است یا اتصال را رد میکند.
- 4
پروکسی را با ابزار بررسی تست کنید
مشخصات را در proxy checker وارد کنید. اگر تمام سایتها
HTTP 502دادند، یک تیکت پشتیبانی به همراه نتیجه ثبت کنید.
پرسشهای متداول
آیا خطای 502 یعنی اعتبار پروکسی من تمام شده است؟
معمولاً خیر. پروکسی منقضیشده یا متوقفشده معمولاً باعث خطای اتصال یا تایماوت میشود؛ به proxy timeout مراجعه کنید.
چرا فقط یک وبسایت خاص با پروکسی خطای 502 میدهد؟
ممکن است آن سایت دچار اختلال باشد یا به IP پروکسی پاسخ ندهد. بعداً امتحان کنید یا از IP کشور دیگری استفاده نمایید.
تفاوت خطای 502 با 504 چیست؟
خطای 502 به معنی دریافت پاسخ نامعتبر یا عدم امکان دریافت پاسخ است؛ خطای 504 یعنی سرور واسط بیش از حد منتظر پاسخ مانده است. ابزار بررسی هر دو را به شکل HTTP <code> نشان میدهد.
اسکریپتر من گهگاه خطای 502 دریافت میکند. آیا باید پروکسیها را تغییر دهم؟
خطاهای پراکنده 502 معمولاً ناشی از بار بالای سرور مقصد است. پیش از تعویض پروکسی، نرخ درخواستها را کاهش دهید و بین تلاشهای مجدد فاصله بگذارید؛ proxies for web scraping را ببینید.
IPهای اختصاصی، بدون اشتراک با دیگران
پروکسیهای اختصاصی VinaProxy به شما کمک میکنند از مسدود شدن IP به دلیل استفاده دیگران جلوگیری کنید.
مشاهده قیمتها