خطای HTTP 502 یعنی یک سرور واسط از سرور اصلی پاسخ نادرستی گرفته است
خطای HTTP 502 با عنوان «Bad Gateway» یعنی سروری که به آن وصل شدید فقط نقش واسطه داشته و سرور پشت آن پاسخی نامعتبر داده یا اصلاً پاسخ قابلاستفادهای نداده است. واسطه (مثل Nginx، Apache، Cloudflare یا یک بالانسر بار AWS) درست کار میکند؛ مشکل از بخش پشت آن است.
این کد جزو خانوادهٔ 5xx است، پس طبق تعریف یک خطای سمت سرور است. از خطای 500 دقیقتر است: نشان میدهد مشکل در مرحلهٔ تحویل بین گیتوی و سرور برنامه پیش آمده است. صفحهٔ مرجع MDN (بهروزرسانی ۲۲ ژوئن ۲۰۲۶) اضافه میکند که اگر سرور مبدأ یک خطای HTTP درست فرستاده بود، گیتوی باید همان را منتقل میکرد؛ خطای 502 یعنی گیتوی چیز درستی برای انتقال نداشته است.
این خطا را در مرورگر به شکل یک صفحهٔ سادهٔ سفید با عبارت «502 Bad Gateway» میبینید، در کادر خطای یک برنامه به شکل «HTTP error! status: 502»، و در Zoom، بازیها یا برنامههای معاملهگری به شکل یک پیام کلی «خطای سرور» که 502 لابهلای جزئیاتش پنهان است. معنا هر بار یکی است: بخش پشتیبان سرویس به درگاه جلویی خودش پاسخ نداده است.
سرور که در نقش گیتوی یا پروکسی عمل میکرد، هنگام تلاش برای انجام درخواست، از سروری که به آن دسترسی پیدا کرده بود پاسخ نامعتبر دریافت کرد.
RFC 9110، به نقل از صفحهٔ 502 در Authgear
درخواست از یک گیتوی عبور میکند و خطای 502 همانجا به وجود میآید
خطای 502 را حلقهٔ میانی صادر میکند: مرورگر شما با یک گیتوی (پروکسی معکوس، CDN یا توزیعکنندهٔ بار) صحبت میکند، گیتوی با سرور برنامه صحبت میکند، و وقتی آخرین حلقه با مشکل روبهرو شود، گیتوی خطای 502 برمیگرداند.
صفحهٔ Authgear چهار حالت را برای مشکل آخرین حلقه فهرست میکند: سرور برنامه اجرا نمیشود، اتصال را ناگهان میبندد، پاسخ HTTP ناقص برمیگرداند، یا بیشتر از مهلت گیتوی طول میکشد. در هر چهار حالت، گیتوی چیز معتبری برای انتقال ندارد، پس خودش یک صفحهٔ خطای کوتاه میسازد و آن را میفرستد.
برند نمایشدادهشده در صفحهٔ خطا نشان میدهد کدام واسطه کار را رها کرده است. یک صفحهٔ 502 با ظاهر Cloudflare یعنی Cloudflare از سرور مبدأ سایت پاسخ درستی نگرفته است. یک صفحهٔ ساده که پایینش «nginx» یا «openresty» نوشته شده، یعنی پروکسی خود سایت نتوانسته به برنامهٔ خودش روی همان دستگاه یا شبکه برسد.
نشانههایی که مشکل از سایت است
- دیگران همزمان همین خطا را گزارش میکنند
- صفحه خطا با نام و نشان خود سایت یا CDN نمایش داده میشود
- همه صفحههای سایت خطا میدهند، نه فقط یک صفحه
- گوشی شما هم با اینترنت همراه همین خطای 502 را نشان میدهد
نشانههایی که مشکل از سمت شماست
- سایت همین حالا برای یکی از دوستانتان باز میشود
- فقط روی یک شبکه (خانه، کافه یا محل کار) این خطا را میبینید
- با عوض کردن سرور VPN یا خاموش کردن VPN، خطا از بین میرود
- درست بعد از تغییر تنظیمات DNS یا پروکسی شروع شده است
خطاهای 502، 503 و 504 سه ماجرای متفاوت از یک گیتوی هستند
خطای 502 یعنی سرور پشتی پاسخ نادرستی داده است. خطای 503 یعنی سرویس عمداً در دسترس نیست یا زیر فشار زیاد است. خطای 504 یعنی سرور پشتی پیش از پایان زمان انتظار گیتوی اصلاً پاسخی نداده است.
این تفاوت مهم است، چون کاری که باید بکنید را تغییر میدهد. خطای 503 اغلب با راهنمای Retry-After همراه است و طبق زمانبندی برطرف میشود. خطای 504 به کندی اشاره دارد، پس راهحل صبر کردن یا تغییر تنظیم زمان انتظار است. خطای 502 به خرابی، پورت اشتباه یا پاسخ ناقص اشاره دارد و باید یک فرد در سمت سرور آن را بررسی کند.
| کد | آنچه گیتوی دریافت کرد | معمولاً چه کسی آن را برطرف میکند | بازدیدکننده چه کاری میتواند بکند |
|---|---|---|---|
| 500 Internal Server Error | خود برنامه خطا داده است | توسعهدهندگان سایت | یک بار صفحه را دوباره بارگذاری کنید، بعد کمی صبر کنید |
| 502 Bad Gateway | پاسخ نامعتبر یا خالی از سرور بالادستی | مدیران سایت (پروکسی یا برنامه) | صفحه را دوباره بارگذاری کنید، با شبکهٔ دیگری امتحان کنید، کمی صبر کنید |
| 503 Service Unavailable (سرویس در دسترس نیست) | سرویس اعلام کرده که از کار افتاده یا بار زیادی روی آن است | مدیران سایت، که اغلب این وضعیت را عمداً هنگام نگهداری ایجاد میکنند | تا پایان مهلت Retry-After صبر کنید |
| 504 Gateway Timeout (پایان مهلت گیتوی) | در مهلت گیتوی هیچ پاسخی نرسیده است | مدیران سایت (کندی بکاند یا تنظیم مهلت) | چند دقیقه صبر کنید و دوباره امتحان کنید |
وقتی بهعنوان بازدیدکننده خطای HTTP 502 میبینید، چه کنید
بعد از یک مکث کوتاه یک بار صفحه را دوباره بارگیری کنید، سپس همان صفحه را از یک شبکهٔ دیگر امتحان کنید. اگر هر دو بار خطا دیدید، مشکل از خود سایت است و هیچ تغییری در دستگاه شما آن را درست نمیکند.
به نظر ما بیشتر بازدیدکنندگان برای خطای 502 بیش از حد دنبال علت میگردند. توصیهٔ صادقانهٔ ما این است که پیش از تغییر هر تنظیمی سه دقیقه صبر کنید، چون وقتی یکی از پردازهها در سمت سایت از کار بیفتد، سامانهٔ پایش خود سایت معمولاً در همین مدت آن را دوباره راهاندازی میکند. مراحل زیر برای تعداد کمی از موارد است که خطا به دستگاه یا شبکهٔ شما مربوط میشود.
بعد از کمی صبر، صفحه را دوباره بارگذاری کنید
تا سی بشمارید و دوباره صفحه را بارگیری کنید. اگر 502 بهخاطر راهاندازی مجدد سرور پشتیبان باشد، معمولاً در تلاش دوم یا سوم برطرف میشود.
شبکهی دیگری را امتحان کنید
همان نشانی را در گوشی خود با دادههای همراه باز کنید. اگر آنجا هم 502 دیدید، دیگر دنبال عیبیابی نباشید: مشکل از سایت است.
حافظهٔ نهان DNS را پاک کنید
در Windows، Terminal را با دسترسی مدیر باز کنید و ابتدا ipconfig /flushdns و سپس netsh winsock reset را اجرا کنید؛ همانطور که پاسخ انجمن Microsoft در ۲۰ آوریل ۲۰۲۶ پیشنهاد میکند. یک ورودی قدیمی DNS میتواند شما را به دروازهای ببرد که دیگر سالم نیست.
برای آزمایش، سرور VPN را عوض کنید یا VPN را خاموش کنید
اگر از VPN استفاده میکنید، سروری در کشور دیگری انتخاب کنید و صفحه را دوباره بارگیری کنید. اگر نتیجه فرق کرد، یعنی یکی از نقاط لبه مشکل داشته و دستگاه شما مقصر نبوده است. بعد از آن، اگر لازم دارید، VPN را دوباره روشن کنید.
صفحهٔ وضعیت سایت یا حساب آن در شبکههای اجتماعی را بررسی کنید
سرویسهای بزرگ معمولاً ظرف چند دقیقه قطعی را اعلام میکنند. اگر نوشته بودند «در حال بررسی»، زبانه را ببندید و بعداً دوباره سر بزنید.
کوکیها را فقط برای همان سایت پاک کنید
این مورد کم پیش میآید، اما یک کوکی نشست خراب میتواند باعث شود درگاه احراز هویت درخواست را رد کند و خطای 502 برگرداند. کوکیها را فقط برای همان دامنه پاک کنید، نه برای کل مرورگر.
اگر مدیر سایت هستید، سه راهحل بیشتر خطاهای 502 را برطرف میکند
سرور بالادستی را که از کار افتاده دوباره راهاندازی کنید، پراکسی را به پورت درست وصل کنید و مهلت خواندن پراکسی را بیشتر کنید. به گفتهٔ Authgear، در نه مورد از ده مورد علت یکی از همین سه چیز است.
جز این سه مورد، علتهای رایج دیگر اینها هستند: لود بالانسری که بررسی سلامت همهٔ بکاندها را ناسالم ثبت کرده، پراکسیای که پاسخ قدیمی DNS سرور بالادستی را ذخیره کرده، خطا در TLS handshake بین پراکسی و سرور بالادستی، یا تمام شدن حافظه یا پردازههای کارگر در سرور بالادستی. هر کدام از اینها ردی در لاگ خطای پراکسی میگذارد، پس پیش از تغییر تنظیمات، آن لاگ را بخوانید.
مطمئن شوید برنامه در حال گوش دادن است
روی سرور دستور ss -tlnp | grep <port> را اجرا کنید. اگر هیچ برنامهای روی پورتی که پراکسی انتظار دارد گوش نمیدهد، برنامه را اجرا کنید و بررسی کنید چرا متوقف شده بود.
مقصد پراکسی را بررسی کنید
در Nginx به proxy_pass و در Apache به ProxyPass نگاه کنید. پورت اشتباه، مسیر سوکت اشتباه یا استفاده از http:// جایی که برنامه با https:// کار میکند، همیشه به خطای 502 میرسد.
مهلتها را با زمان واقعی پاسخ مقایسه کنید
اگر برنامه فقط کند است، مقدار proxy_read_timeout (در Nginx) یا ProxyTimeout (در Apache) را بیشتر کنید. بعد endpoint کند را پروفایل کنید تا مهلت زمانی جلوی دیده شدن یک باگ را نگرفته باشد.
بازتولید خطا با curl از روی میزبان پروکسی
اجرای curl -v http://127.0.0.1:<port>/ از همان دستگاه نشان میدهد که سرور بالادستی اصلاً پاسخ میدهد یا نه، و هدرهای آن HTTP معتبر هستند یا نه.
سلامت لود بالانسر را بررسی کنید
در AWS ALB، Kubernetes Ingress یا سرویسهای مشابه، اگر یک target group هیچ بکاند سالمی نداشته باشد، برای همه خطای 502 برمیگرداند. مسیر بررسی سلامت یا پاسخ آمادگی (readiness) برنامه را درست کنید.
VPN بهندرت باعث خطای 502 میشود، اما ممکن است یک سرور خروجی شما را به یک سرور لبهٔ نامناسب برساند
VPN بهخودیِخود خطای 502 ایجاد نمیکند. MDN، VPN و دیگر تنظیمات شبکهی سفارشی را فقط زمانی استثنایی قابل بررسی میداند که سایت برای بقیه کار میکند.
دلیل اینکه عوض کردن سرور گاهی کمک میکند این است: سایتهای بزرگ از نزدیکترین لبهی CDN به نشانی IP خروجی شما پاسخ میدهند. اگر همان لبه یا مسیر برگشتش به سرور اصلی مشکل داشته باشد، همهی کسانی که از آن خروجی استفاده میکنند خطای 502 میبینند، در حالی که بقیه بهطور عادی مرور میکنند. انتخاب سرور در کشوری دیگر شما را به لبهی دیگری میبرد؛ این یک آزمایش درست و معمولی است، نه ترفند. میتوانید قبل و بعد از تغییر سرور، در tealvpn.com/what-is-my-ip ببینید از کدام خروجی استفاده میکنید.
Teal VPN، ساختهی Fxolio LLC، یک پلن رایگان (۵۰۰ مگابایت در روز) و یک پلن Pro دارد. اپهایش برای Android، Windows، Mac، Linux، Android TV و Chromebook موجود است و تا نوامبر ۲۰۲۶ سرورهایی در ۱۴ کشور دارد. Teal Secure روی همهی اتصالها و همهی پلنها فعال است: ترافیک VPN را پنهانسازی میکند و وقتی شبکهای یک مسیر را ببندد، اپ خودش مسیرهای دیگر را امتحان میکند. این در شبکههایی که VPN را محدود میکنند کمک میکند، اما برای خطای 502 کاری نمیکند، چون 502 یعنی بکاند خود سایت خراب است. هیچ VPNای تضمین نمیکند که روی هر شبکهای وصل شود، و هیچ VPNای نمیتواند سرور دیگران را تعمیر کند.

- پیش از اینکه VPN را مقصر بدانید: آیا با خاموش بودن VPN، روی همان شبکه هم خطای 502 دیده میشود؟
- آیا روی سرور کشور دیگری هم دیده میشود؟
- آیا صفحهی خطا بهجای نام سایت، نام یک CDN (مثل Cloudflare یا Fastly) را نشان میدهد؟
- آیا دوستی خارج از شبکه شما هم در همان دقیقه همین خطا را دریافت کرد؟
صاحبان سایت با بررسیهای سلامت و زمانبندیهای واقعبینانه جلوی تکرار خطای ۵۰۲ را میگیرند
خطاهای تکراری 502 وقتی متوقف میشوند که پراکسی وضعیت واقعی برنامه را بداند: یک نقطهی آمادگی (readiness endpoint) که بررسی سلامت آن را فراخوانی میکند، یک مدیر فرایند که برنامه را پس از کرش دوباره راهاندازی میکند، و یک زمانسنج پراکسی که بر اساس زمانهای پاسخ اندازهگیریشده تنظیم شده باشد، نه حدس.
دو عادت دیگر هم مفید است. کش DNS پراکسی برای سرور بالادستی را کوتاه نگه دارید تا اگر برنامه روی آدرس جدید دوباره مستقر شد، پراکسی روی آدرس قبلی گیر نکند. و روی خود تعداد خطاهای 502 هشدار تنظیم کنید، نه فقط روی CPU یا حافظه، چون یک خط proxy_pass اشتباه بار صفر و نرخ خطای صد درصد ایجاد میکند.
ادامه مطلب
منابع
- 502 Bad Gateway - HTTP | MDN
- HTTP 502 Bad Gateway: Causes & Fixes | Authgear
- how do you get 502 - Microsoft Q&A
برای Teal کمک لازم دارید؟ با پشتیبانی تماس بگیرید.
پرسشها
خطای HTTP 502 به چه معناست؟
این یعنی سروری که نقش دروازه یا پروکسی را دارد، از سروری که پشت آن قرار دارد پاسخ نامعتبر گرفته یا اصلاً پاسخ قابل استفادهای نگرفته است. دروازه مشکلی ندارد؛ سرور برنامه پاسخ درستی نداده است.
آیا خطای HTTP 502 از طرف من است؟
تقریباً هرگز. این یک کد 5xx است و طبق تعریف مربوط به سمت سرور است. سایت را با یک شبکه دیگر امتحان کنید؛ اگر آنجا هم خطای 502 دیدید، مشکل از خود سایت است و راهحل فقط صبر کردن است.
خطای 502 چه مدت طول میکشد؟
معمولاً چند ثانیه تا چند دقیقه، چون سیستم پایش، فرایندی را که از کار افتاده دوباره راهاندازی میکند. اگر بیش از پانزده دقیقه طول بکشد، مدیران سایت بهجای یک خرابی ساده، با یک مشکل پیکربندی روبهرو هستند و فقط خودشان میتوانند آن را رفع کنند.
تفاوت 502 و 504 چیست؟
خطای 502 یعنی سرور پشتی پاسخی نامعتبر داده است؛ خطای 504 یعنی پیش از پایان زمان انتظار دروازه، اصلاً پاسخی نداده است. MDN دقیقاً همین مرز را مشخص میکند: اگر از سرور مبدأ هیچ پاسخ HTTP نرسد، 504 میگیرید و اگر پاسخ نامناسب برسد، 502.
آیا VPN میتواند خطای HTTP 502 را رفع کند؟
فقط در حالت محدودی که یکی از نقاط لبه CDN نزدیک به IP خروجی شما سالم نباشد. با رفتن به یک سرور Teal VPN در کشور دیگر، به نقطه لبه دیگری وصل میشوید؛ اگر خطا همچنان بود، سرور پشتی سایت از کار افتاده است و هیچ VPNای کمکی نمیکند.
چرا Zoom یا یک بازی خطای HTTP 502 نشان میدهد؟
اپها هم مثل وبسایتها با همان نوع گیتویها ارتباط برقرار میکنند. وقتی بکاند سرویس از کار میافتد یا بار زیادی روی آن است، گیتوی اپ خطای 502 برمیگرداند و اپ آن را به شکل «HTTP error! status: 502» یا یک خطای کلی سرور نشان میدهد.
خطای 502 در ngrok به چه معناست؟
تونل به دستگاه شما رسیده، اما روی پورت محلیای که برای ارسال ترافیک به ngrok دادهاید، هیچ برنامهای پاسخ نمیدهد. برنامهٔ محلی را روی همان پورت اجرا کنید یا پورت را در دستور ngrok اصلاح کنید.