502 Bad Gateway hatası, isteği karşılayan sunucunun arkasındaki başka bir sunucudan geçersiz cevap aldığını ya da hiç cevap alamadığını söyleyen HTTP durum kodudur. Bugün çoğu sitede ziyaretçiyle uygulama arasında bir ara katman bulunur: Nginx gibi bir web sunucusu, Cloudflare gibi bir CDN ya da bir yük dengeleyici. Bu ara katman (gateway) çalışır, ama arkasındaki uygulama sunucusu (PHP-FPM, Node.js, bir başka sunucu) düzgün cevap vermez ve ziyaretçi "502 Bad Gateway" sayfasını görür.
Bu rehberde 502 hatasının en sık nedenlerini, ziyaretçi ve site sahibi olarak neler yapabileceğinizi anlatıyoruz.
502, 503 ve 504 arasındaki fark
Bu üç hata birbirine benzer ama farklı sorunları gösterir:
| Kod | Anlamı | Ne söyler? |
|---|---|---|
| 502 Bad Gateway | Arka sunucudan geçersiz cevap | Ara katman çalışıyor, arkadaki uygulama bozuk cevap verdi ya da bağlantıyı kopardı |
| 503 Service Unavailable | Hizmet şu an kullanılamıyor | Sunucu isteği bilerek reddediyor: aşırı yük, bakım ya da kaynak sınırı |
| 504 Gateway Timeout | Arka sunucu zamanında cevap vermedi | Uygulama çalışıyor ama çok yavaş |
503 hatasının nedenlerini 503 hatası nedir yazısında ayrıca anlattık.
502 hatasının en sık nedenleri
Uygulama sunucusu durmuş
PHP ile çalışan sitelerde (WordPress dahil) Nginx, isteği PHP-FPM'e iletir. PHP-FPM durmuşsa, çökmüşse ya da yeniden başlatılıyorsa Nginx cevap alamaz ve 502 döner. Bellek yetersizliği, hatalı bir PHP güncellemesi ya da sunucunun yeniden başlatılması en yaygın tetikleyicilerdir.
Uygulama sunucusunun kapasitesi dolmuş
PHP-FPM'in aynı anda çalıştırabileceği işlem sayısı sınırlıdır. Ani trafik artışı, yavaş bir eklenti ya da sonsuz döngüye giren bir betik bütün işlemleri meşgul ederse yeni istekler reddedilir ve 502 ya da 504 görülür.
Yanlış yapılandırma
Nginx'in PHP-FPM'e bağlandığı adres (soket dosyası ya da port) PHP sürümü değiştirildikten sonra güncellenmemişse bağlantı kurulamaz. Hosting panelinde PHP sürümünü değiştirdikten hemen sonra başlayan 502 hatası çoğunlukla bu nedenle olur.
CDN ya da proxy sunucuya ulaşamıyor
Cloudflare gibi bir CDN kullanıyorsanız 502 sayfası CDN'den gelebilir. Bu durumda CDN çalışıyor, ama sizin sunucunuza bağlanamıyor demektir: sunucu kapalı olabilir, güvenlik duvarı CDN'in IP adreslerini engelliyor olabilir ya da DNS kaydı yanlış sunucuyu gösteriyor olabilir. Cloudflare'in 502 sayfasında hatanın Cloudflare'de mi, sunucunuzda mı olduğu genellikle belirtilir.
Güvenlik duvarı ya da DDoS koruması
Sunucudaki güvenlik duvarı ya da bir güvenlik eklentisi, ara katmanın isteklerini saldırı sanıp engelleyebilir. Özellikle CDN arkasındaki sitelerde CDN IP aralıklarının izinli listede olması gerekir.
Arka sunucu hatalı cevap veriyor
Uygulama çok büyük başlık (header) gönderiyorsa ya da cevabı yarıda kesiyorsa ara katman bunu geçersiz sayar. Nginx'te "upstream sent too big header" hatası bunun tipik örneğidir.
Ziyaretçiyseniz ne yapabilirsiniz?
502 hatası neredeyse her zaman sitenin sunucusundan kaynaklanır, sizin bilgisayarınızdan değil. Yine de şunları deneyebilirsiniz:
- Sayfayı biraz bekleyip yenileyin; geçici bir yeniden başlatma olabilir.
- Farklı bir tarayıcıda ya da gizli pencerede açın.
- Mobil veriyle deneyin; sorun yalnızca sizin ağınızdaysa açılır.
- Sitenin herkes için mi kapalı olduğunu öğrenin. Bunun yollarını site çalışıyor mu kontrol yazısında anlattık; ücretsiz site durumu aracımızla da sitenin dışarıdan nasıl göründüğüne bakabilirsiniz.
Site sahibiyseniz adım adım çözüm
- Hata kayıtlarına bakın. Nginx hata kaydında (
error.log) "connect() failed", "upstream prematurely closed connection" ya da "no live upstreams" gibi satırlar, sorunun arkadaki uygulamada olduğunu gösterir. Hosting panellerinde bu kayıtlar genellikle "Hata günlükleri" bölümündedir. - PHP-FPM'i ya da uygulama servisini yeniden başlatın. Panelinizde PHP servisini yeniden başlatma seçeneği varsa kullanın. Hata geçiyor ama tekrar ediyorsa asıl nedeni (bellek, yavaş betik) aramaya devam edin.
- Son değişikliği geri alın. 502 bir eklenti, tema ya da PHP sürümü güncellemesinden hemen sonra başladıysa o değişikliği geri almak en hızlı çözümdür. WordPress'te
wp-content/pluginsklasörünün adını geçici olarak değiştirmek bütün eklentileri devre dışı bırakır. - Kaynak kullanımını kontrol edin. Paylaşımlı hosting'de bellek ve işlem sınırına takılmak 502 ve 503 hatalarının yaygın nedenidir. Panelinizdeki kaynak kullanımı grafiklerine bakın; sürekli sınırdaysanız paket yükseltmek ya da önbellek eklentisi kullanmak gerekir.
- CDN kullanıyorsanız CDN'i geçici olarak kapatın. Cloudflare'de proxy'yi (turuncu bulut) kapatıp siteye doğrudan erişin. Site açılıyorsa sorun CDN ile sunucu arasındaki bağlantıdadır: güvenlik duvarı kurallarını ve SSL ayarlarını kontrol edin.
- DNS kaydını kontrol edin. A kaydı eski ya da yanlış bir sunucuyu gösteriyorsa CDN ya da proxy oraya bağlanmaya çalışır. Taşıma sonrası başlayan 502 hatalarında bunu mutlaka kontrol edin.
- Hosting firmanıza başvurun. Sunucu düzeyindeki sorunları (servis çökmesi, ağ problemi) yalnızca hosting firması çözebilir. Destek talebine hatanın başladığı saati ve gördüğünüz hata sayfasının ekran görüntüsünü ekleyin.
Sorun 502 değil de sitenin hiç açılmaması ise diğer olası nedenleri site açılmıyor nedenleri yazısında bulabilirsiniz.
502 hatası SEO'yu etkiler mi?
Kısa ve seyrek 502 hataları arama sıralamanızı genellikle etkilemez; Google geçici hataları anlar ve sayfayı daha sonra tekrar tarar. Ama hata uzun sürer ya da sık tekrarlanırsa Google sitenizi daha seyrek taramaya başlar ve sayfalar dizinden düşebilir. Bu yüzden 502 hatasını ziyaretçiler fark etmeden yakalamak önemlidir.
Kesintiyi ilk siz öğrenin
502 hatası çoğu zaman gece, trafik az olduğunda ya da otomatik bir güncellemeden sonra başlar ve site sahibi bunu ancak bir müşteri "siteniz açılmıyor" dediğinde öğrenir. domainizle.tr, sitenizi ücretsiz olarak dışarıdan yoklar; site 502 ya da başka bir hata verdiğinde ve tekrar açıldığında size haber verir. Kesintinin ne zaman başlayıp bittiğini de kayıt altında tutar.
Sık sorulan sorular
502 hatası benim internetimden kaynaklanabilir mi?
Çok nadiren. Hatayı gösteren sayfa sitenin sunucusundan ya da CDN'inden gelir. Başka bir ağdan ya da cihazdan da aynı hatayı görüyorsanız sorun kesin olarak sitededir.
502 hatası kendiliğinden düzelir mi?
Geçici bir yeniden başlatma ya da kısa bir yük artışından kaynaklanıyorsa kendiliğinden düzelir. Kalıcı bir yapılandırma hatası ya da duran bir servis varsa site sahibinin müdahalesi gerekir.
WordPress sitemde 502 hatası alıyorum, ne yapmalıyım?
Önce son kurduğunuz ya da güncellediğiniz eklentiyi devre dışı bırakın. Düzelmezse PHP sürümünü bir önceki sürüme alın ve PHP bellek sınırını kontrol edin. Hata sürerse hosting firmanızdan PHP-FPM kayıtlarını isteyin.
502 Bad Gateway ile 504 Gateway Timeout aynı şey mi?
Değil. 502'de arka sunucu bozuk cevap verir ya da bağlantıyı koparır; 504'te arka sunucu cevap vermeye çalışır ama zamanında yetişemez. 504 genellikle yavaş sorgular ve uzun süren betiklerle ilgilidir.
Sitenizin kapandığını müşterinizden öğrenmeyin. Ücretsiz hesap oluşturun, sitenizi ekleyin ve kesinti olduğunda ilk siz haberdar olun.
Bunu her ay elle kontrol etmeyin
domainizle.tr domain ve SSL bitiş tarihlerini kendiliğinden okur, sitenizin açık olup olmadığını düzenli yoklar; süre dolmadan önce kademeli olarak ve site kapandığında haber verir. Kurulum ya da sunucu erişimi gerekmez.
Ücretsiz hesap oluştur Nasıl çalışır