502 Bad Gateway Hatası Nedir? Nasıl Çözülür?

502 Bad Gateway Hatası Nedir? Nasıl Çözülür?

Kisaca

502 Bad Gateway, araci (proxy/gateway) sunucunun arka uctaki sunucudan gecersiz bir yanit almasidir; yani istek-zincirinde bir halka kopmustur. Cogu zaman bir ag hatasi degil, kaynak yonetimi sorunudur: en sik neden cokmus ya da iscileri tukenmis PHP-FPM’dir. Cozum, once tahmin degil teshistir; log okumaktir.

  • Ziyaretciyseniz: sayfayi yenileyin/bekleyin, tarayici ve DNS onbellegini temizleyin, farkli ag ya da cihazla deneyin.
  • Site sahibiyseniz: once error.log okuyun, PHP-FPM durumunu kontrol edip yeniden baslatin, pm.max_children ve memory_limit degerlerini gozden gecirin.
  • 502 “kotu cevap geldi”, 503 “su an hizmet yok”, 504 “cevap hic gelmedi, sure doldu” demektir.
  • Onleme: kaynaklari dogru yonetilmis hosting, sunucu seviyesi onbellek, guncel PHP, uptime izleme ve duzenli yedek.

Web sitenizi açmaya çalışırken karşınıza beyaz bir ekran ve “502 Bad Gateway” yazısı çıktıysa, o anki ilk hissiniz büyük ihtimalle paniktir. İyi haber şu: bu hata neredeyse hiçbir zaman “siteniz silindi” anlamına gelmez. Kötü haber ise, ziyaretçileriniz tam o saniyede sitenizi terk ediyor olabilir. Bu rehberde 502 Bad Gateway hatasının gerçekte ne olduğunu, hangi katmanda koptuğunu ve hem son kullanıcı hem de site sahibi olarak adım adım nasıl çözeceğinizi anlatıyorum.

502 Bad Gateway Hatası Nedir?

502 Bad Gateway, bir proxy ya da gateway görevi gören sunucunun, asıl içeriği üreten upstream (arka uç) sunucudan geçersiz bir yanıt aldığında tarayıcıya döndürdüğü bir HTTP durum kodudur. Sade bir cümleyle özetlersek: “Aracı sunucu isteğini iletti ama arkadaki sunucudan anlamlı bir cevap alamadı.”

Modern bir web sitesi tek bir program değildir. Tarayıcınızdan gelen istek genelde şu zinciri izler: önce web sunucusuna (Nginx, Apache veya LiteSpeed) ulaşır, oradan PHP’yi işleyen PHP-FPM sürecine, gerekirse veritabanına ve bazen önde duran bir yük dengeleyiciye uğrar. Bu zincirde herhangi bir halka “boş” ya da “bozuk” bir yanıt döndürürse, en öndeki sunucu omuz silkip size 502 der. Yani 502, sorunun nerede olduğunu söylemez; sadece “zincirde bir yer koptu” der. İşin püf noktası, o kopan halkayı bulmaktır.

Tarayıcıya göre bu hata farklı metinlerle görünebilir: “502 Bad Gateway”, “502 Server Error”, “HTTP Error 502”, “Temporarily Unavailable” ya da hosting sağlayıcısının özel hata sayfası. Hepsi aynı kapıya çıkar.

Mail hosting 1 ay ücretsiz

502 Hatası Neden Oluşur? En Sık Karşılaşılan 8 Neden

Yıllar içinde gördüğümüz 502 vakalarının büyük çoğunluğu şu sekiz başlıktan birine giriyor. Tablodaki “Kimi ilgilendirir” sütunu, sorunu sizin mi yoksa hosting tarafının mı çözeceğini hızlıca anlamanıza yardımcı olur.

Neden Ne oluyor? Kimi ilgilendirir
PHP-FPM çökmesi / durması Web sunucusu PHP işlemcisine ulaşamıyor; soket dosyası kayboluyor. 502’lerin en yaygın tek nedeni budur. Sunucu yöneticisi / hosting
pm.max_children tükenmesi Eşzamanlı istek sayısı PHP-FPM işçi sınırını aşıyor, yeni istekler işçi bulamadan düşüyor. Sunucu yöneticisi
PHP bellek limiti aşımı Bir betik memory_limit’i aşınca işçi süreç ölüyor, yanıt yarıda kesiliyor (“connection reset by peer”). Site sahibi
Yanlış soket / port tanımı Nginx arka uca yanlış porttan ya da yanlış Unix soketinden bağlanmaya çalışıyor. Sunucu yöneticisi
Yetersiz proxy buffer PHP çok fazla çerez/başlık üretince yanıt başlıkları varsayılan buffer boyutunu aşıyor. Sunucu yöneticisi
Güvenlik duvarı engeli iptables/ufw ya da bir WAF, web sunucusunun arka uçla konuştuğu portu engelliyor. Sunucu yöneticisi
DNS / yayılma sorunu Alan adı yeni taşındı, eski IP hâlâ önbellekte; istek artık yanıt vermeyen eski sunucuya gidiyor. Site sahibi
Trafik patlaması / DDoS Anlık yoğunluk ya da saldırı sunucuyu zamanında yanıt veremez hale getiriyor. Hosting / site sahibi

Buradaki en önemli ders şu: 502 bir “ağ hatası” değil, çoğu zaman bir kaynak yönetimi hatasıdır. Yani sunucu fiziksel olarak ayakta ama PHP süreçleri ya çöküyor ya da yetişemiyor. Bu yüzden çözümlerin büyük kısmı, donanımdan çok yapılandırmayla ilgilidir.

502, 503 ve 504 Arasındaki Fark

Bu üç 5xx hatası sürekli birbirine karıştırılır, oysa her biri tamamen farklı bir hikâye anlatır. Hangisini gördüğünüzü doğru okumak, çözüm yolunu yarı yarıya kısaltır.

Kod Anlamı Tipik sebep
502 Bad Gateway Arka uç sunucudan geçersiz/bozuk yanıt geldi PHP-FPM çöktü, soket yanlış, işçi öldü
503 Service Unavailable Sunucu geçici olarak hizmet veremiyor Bakım modu, aşırı yük, planlı kapatma
504 Gateway Timeout Arka uç sunucu süresinde hiç yanıt vermedi Çok uzun süren sorgu, donmuş işlem

Kısacası: 502 “kötü cevap geldi”, 503 “şu an hizmet yok” (genelde bilinçli), 504 ise “cevap hiç gelmedi, süre doldu” demektir. Örneğin uzun süren bir veritabanı sorgusu genellikle 504 üretirken, çöken bir PHP işçisi 502 üretir.

Son Kullanıcıysanız: 502 Hatasını Nasıl Çözersiniz?

Siteyi ziyaret eden taraf sizseniz, sorunun sizden kaynaklanma ihtimali düşük ama sıfır değil. Aşağıdaki adımları sırayla deneyin; çoğu durumda ilk iki madde işi çözer.

1. Sayfayı Yenileyin ve Kısa Süre Bekleyin

502’lerin önemli bir kısmı geçici yoğunluktan kaynaklanır. F5 ya da Ctrl+R ile sayfayı yenileyin, çözülmezse 30-60 saniye bekleyip tekrar deneyin. Sunucu o sırada kendini toparlamış olabilir.

2. Tarayıcı Önbelleğini Temizleyin

Eski bir önbellek kaydı bozuk yanıtı tekrar tekrar gösterebilir. Chrome’da Ctrl+Shift+Delete → Tüm Zamanlar → Önbelleğe alınmış görseller ve dosyalar → Verileri Temizle. Hızlı bir test için gizli sekmede (Ctrl+Shift+N) açmayı deneyin; orada açılıyorsa sorun önbellektedir.

3. DNS Önbelleğini Temizleyin

Özellikle site yakın zamanda taşındıysa bilgisayarınız eski IP’yi hatırlıyor olabilir.

  • Windows: Komut isteminde ipconfig /flushdns
  • macOS: Terminalde sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
  • Linux: sudo systemd-resolve --flush-caches

4. Farklı DNS Sunucusu Deneyin

Sorun yerel DNS çözümlemesindeyse, geçici olarak Google DNS (8.8.8.8) ya da Cloudflare DNS (1.1.1.1) kullanmak hatayı atlatabilir.

5. Cihazınızı ve Bağlantınızı Sadeleştirin

VPN, proxy ya da kurumsal güvenlik yazılımları araya girip 502 üretebilir. Farklı bir ağ (örneğin mobil veri) ya da başka bir cihazla deneyin. Site başka yerden açılıyorsa hata sizin tarafınızdadır.

Site Sahibiyseniz: Teknik Çözüm Adımları

Site sizinse ve sunucuya erişiminiz varsa, iş artık tahminden çıkıp teşhise döner. Buradaki altın kural değişmez: önce logu okuyun. Nginx ya da Apache size kopan halkanın tam adını söyler; tahmin yürütmeden önce ona kulak verin.

1. Hata Loglarını İnceleyin

SSH ile sunucuya bağlanıp son satırlara bakın:

tail -100 /var/log/nginx/error.log
tail -100 /var/log/apache2/error.log
tail -100 /var/log/php-fpm/error.log

“connection refused” görüyorsanız PHP-FPM muhtemelen çalışmıyor. “no such file or directory” varsa soket yolu yanlış. “upstream sent too big header” görüyorsanız buffer sorunundasınız demektir. Yani log, doğrudan bir sonraki adımınızı söyler.

2. PHP-FPM Durumunu Kontrol Edin ve Yeniden Başlatın

502’lerin en yaygın nedeni durmuş bir PHP-FPM servisidir. Önce durumuna bakın, gerekiyorsa yeniden başlatın:

systemctl status php-fpm
systemctl restart php-fpm

Servis sürekli düşüyorsa, çökmenin nedeni genelde bellek limiti ya da hatalı bir betiktir; logdaki “fatal error” satırları size dosyayı işaret eder.

3. pm.max_children Değerini Gözden Geçirin

PHP-FPM havuzu yapılandırmasında (genelde /etc/php-fpm.d/www.conf) pm.max_children değeri düşükse, trafik arttığında yeni istekler işçi bulamaz ve 502 alır. Log içinde “server reached pm.max_children” uyarısı görüyorsanız bu değeri RAM’inize göre kademeli artırın. Körlemesine yükseltmek belleği tüketip işi daha kötü hale getirebilir; bu yüzden adım adım gidin.

4. Bellek Limitini Artırın

Tekil bir betik (örneğin ağır bir tema ya da rapor ekranı) bellek limitini aşıyorsa, ilgili işçi ölür. php.ini içinde memory_limit değerini makul bir seviyeye (örneğin 256M) çekip servisi yeniden başlatın.

5. Proxy Buffer Ayarlarını Büyütün

Çok fazla çerez/başlık üreten uygulamalarda Nginx’in fastcgi_buffers ve fastcgi_buffer_size değerleri yetersiz kalabilir. Bunları artırıp yapılandırmayı test edip yeniden yükleyin:

nginx -t
systemctl reload nginx

6. Güvenlik Duvarı ve Soket Yolunu Doğrulayın

Web sunucusunun arka uca bağlandığı port ya da soketin doğru ve erişilebilir olduğundan emin olun. Yanlışlıkla kapatılmış bir port ya da agresif bir kural, sağlam bir sunucuda bile 502 üretir.

7. Hosting Desteğinize Ulaşın

Paylaşımlı bir pakette ya da yönetimsiz erişiminiz yoksa, sorun sunucu katmanındaysa müdahale edebilecek tek taraf hosting sağlayıcınızdır. Burada 7/24 gerçek bir teknik ekibe ulaşabilmek dakikalar ile saatler arasındaki farkı belirler. Alastyr’da ofiste her zaman en az bir teknik personelin bulunması ve Türkçe desteğin kesintisiz olması, tam da bu kritik anlar içindir.

502 Hatasını Önlemek İçin Ne Yapabilirsiniz?

502 ile uğraşmanın en iyi yolu, onu hiç görmemektir. Aşağıdaki önlemler hatanın oluşma sıklığını ciddi biçimde düşürür.

  • Kaynak yönetimi sağlam bir hosting seçin: PHP işçi sayısı, bellek ve CPU sınırları doğru yapılandırılmış sunucularda 502 çok daha nadir görülür. Alastyr’da CloudLinux + CageFS izolasyonu sayesinde bir hesabın ani yükü komşu hesapları çökertmez.
  • Önbellekleme kullanın: LiteSpeed ve LSCache ile dinamik isteklerin önemli kısmı PHP’ye hiç gitmeden hizmetten çıkar; bu da PHP-FPM üzerindeki baskıyı, dolayısıyla 502 riskini ciddi biçimde azaltır.
  • PHP sürümünü güncel tutun: Yeni PHP sürümleri belleği daha verimli kullanır. PHP sürüm seçici ile siteniz için en kararlı sürümü deneyebilirsiniz.
  • Uptime izleme kurun: Hata oluştuğu anda haberdar olun ki ziyaretçiden önce siz fark edin.
  • Ağ katmanında DDoS koruması bulundurun: Trafik patlamalarının sunucuya ulaşmadan filtrelenmesi, yük kaynaklı 502’lerin önüne geçer. Alastyr’da ağ katmanında Voxility tabanlı yüksek kapasiteli L3-L4 anti-DDoS bu işi sunucunuza yansımadan üstlenir.
  • Düzenli yedek alın: Bozuk bir güncelleme ya da eklenti 502’ye yol açtığında, günlük yedek sayesinde dakikalar içinde sağlam sürüme dönebilirsiniz.

Görüldüğü gibi 502, çoğu zaman altyapının yükü doğru yönetip yönetmediğiyle ilgili bir göstergedir. Türkiye lokasyonundaki düşük gecikmeli, LiteSpeed hızlandırmalı ve kaynakları izole edilmiş bir altyapı, bu hatayı istisna haline getirir.

Sıkça Sorulan Sorular

502 hatası her zaman sunucu sorunu mudur?

Çoğunlukla evet, kaynak kopması arka uçta yaşanır. Ancak DNS yayılma sorunları, yerel önbellek ya da araya giren bir VPN/proxy da 502 üretebilir. Bu yüzden önce tarayıcı ve DNS tarafını eleyin, sonra sunucuya geçin.

502 ile 504 arasındaki fark nedir?

502 Bad Gateway, arka uç sunucudan geçersiz/bozuk bir yanıt geldiğinde oluşur; örneğin PHP-FPM çökmüştür. 504 Gateway Timeout ise arka uç süresinde hiç yanıt vermediğinde, yani işlem belirlenen zaman aşımını aştığında oluşur.

502 hatası SEO’yu etkiler mi?

Birkaç dakika süren 502’ler genellikle sıralamayı etkilemez; Google geçici hataları tolere eder. Ancak saatlerce ya da günlerce süren 502’ler arama motorunun sitenizi tarayamaması anlamına gelir ve uzun vadede sıralamaya zarar verebilir.

WordPress’te 502 hatası alıyorum, ne yapmalıyım?

Önce tüm eklentileri geçici olarak devre dışı bırakın; sorun çözülürse tek tek aktif ederek kaynak tüketen eklentiyi bulun. Ardından PHP bellek limitini artırın ve temayı varsayılan bir temaya alıp test edin. Çoğu WordPress 502’si ağır bir eklenti ya da bellek yetersizliğinden kaynaklanır.

PHP-FPM nedir ve 502 ile ne ilgisi var?

PHP-FPM, web sunucusu adına PHP kodunu çalıştıran süreç yöneticisidir. Web sunucusu isteği ona iletir; PHP-FPM çöker ya da işçileri tükenirse sunucu geçerli bir yanıt alamaz ve 502 döner. Bu yüzden 502 çözümlerinin büyük kısmı PHP-FPM etrafında döner.

502 hatası ne kadar sürede düzelir?

Geçici yük kaynaklı 502’ler genellikle saniyeler içinde kendiliğinden geçer. Yapılandırma ya da çöken bir servisten kaynaklanan 502’ler, doğru teşhis konulduğunda birkaç dakikada çözülür. Asıl süreyi belirleyen, hatanın kaynağına ne kadar hızlı ulaşıldığıdır; bu yüzden log okuma ve hızlı destek kritiktir.

Önbellekleme 502 hatasını azaltır mı?

Evet. LiteSpeed Cache gibi sunucu seviyesi önbellekleme, isteklerin büyük kısmını PHP’ye hiç uğratmadan karşılar. Böylece PHP-FPM üzerindeki yük düşer, işçiler daha seyrek tükenir ve yük kaynaklı 502 riski belirgin biçimde azalır.

Paylaşımlı hostingde 502 alıyorum ama erişimim yok, ne yapabilirim?

Paylaşımlı pakette PHP-FPM ya da sunucu servislerine doğrudan müdahale edemezsiniz. Bu durumda yapılması gereken, hatanın saatini ve gördüğünüz hata metnini not edip hosting desteğine iletmektir. 7/24 destek sunan bir sağlayıcıda bu tür sorunlar genellikle hızla çözülür.

502 Hatasını En Aza İndiren Hosting Altyapısı

502 hataları çoğunlukla yetersiz ya da yanlış yapılandırılmış hosting kaynaklıdır. Alastyr’ın LiteSpeed + LSCache, CloudLinux izolasyonu ve all-flash storage altyapısı PHP-FPM süreçlerini stabil tutar; İzmir’deki kendi veri merkezimizdeki düşük gecikme ve ağ katmanındaki anti-DDoS ile kaynak kaynaklı 502’leri en aza indirir.

LiteSpeed + LSCache
Yüksek eşzamanlı yükü PHP’ye yansıtmaz

CloudLinux İzolasyon
Bir hesap diğerini etkileyemez

7/24 Türkçe Destek
Ofiste her zaman teknik personel

Hosting Paketlerine Bak
WordPress Hosting

Yazı oluşturuldu 4

Benzer yazılar

Aramak istediğinizi üstte yazmaya başlayın ve aramak için enter tuşuna basın. İptal için ESC tuşuna basın.

Üste dön