502 Bad Gateway Hatası Çözümü (Detaylı Rehber)

502 Bad Gateway hatası, bir web sunucusunun (genellikle Nginx/Apache) isteği işlemek için iletişim kurduğu “arka uç” sunucudan (upstream) geçerli bir yanıt alamaması durumunda oluşan bir HTTP 5xx hatasıdır. Bu hata çoğu zaman “site çöktü” gibi görünse de, aslında çoğunlukla sunucular arası iletişim, timeout, yanlış proxy ayarı, PHP-FPM/uygulama çökmesi veya kaynak yetersizliği gibi teknik nedenlerden kaynaklanır.

Bu yazıda 502 Bad Gateway hatasının sebeplerini ve WordPress, PHP-FPM, Nginx, Apache, Cloudflare, cPanel/Plesk gibi yaygın senaryolarda adım adım nasıl çözüleceğini detaylı şekilde anlatıyorum.


502 Bad Gateway Hatası Nedir?

502 Bad Gateway, istemci (tarayıcı) ile site arasında bir “gateway/proxy” görevi gören sunucunun, arka uç sunucudan geçersiz yanıt alması veya hiç yanıt alamaması durumunda dönen hata kodudur.

Örnek akış:

  • Kullanıcı → Cloudflare (proxy) → Nginx (reverse proxy) → PHP-FPM / Uygulama Sunucusu
    Bu zincirin herhangi bir yerinde arka uç cevap vermezse veya bozuk cevap dönerse, 502 hatası görülebilir.

502 Bad Gateway Hatasının En Yaygın Nedenleri

1) PHP-FPM Servisi Çökmüş veya Yanıt Vermiyor

WordPress/PHP tabanlı sitelerde en sık sebep budur. PHP-FPM durur, kilitlenir veya işlem havuzu dolar.

2) Upstream Timeout (Zaman Aşımı)

Nginx/Cloudflare/Apache arka uca bağlanır ama uygulama geç cevap verir. Proxy tarafında süre dolunca 502/504 görülebilir.

3) Yanlış Proxy/Upstream Ayarları

Nginx proxy_pass veya fastcgi_pass yanlış hedefe gidiyordur (socket/port hatalı, IP değişmiş vs.).

4) Kaynak Yetersizliği (CPU/RAM/IO)

Sunucuda RAM biter, CPU %100 olur, disk IO tıkanır. Uygulama cevap veremez, gateway 502 döner.

5) DNS / Cloudflare / CDN Kaynaklı Sorunlar

Cloudflare arka uca ulaşamazsa veya origin’de sorun varsa 502 görebilirsin. Bazı 502’ler Cloudflare tarafında özel kodlarla görünür.

6) Uygulama Hatası (WordPress Eklentisi, Tema, Kod)

Fatal error, bellek limitinin aşılması, ağır sorgular gibi durumlar PHP’yi düşürür veya yanıtı bozabilir.


Hatanın Nereden Kaynaklandığını Tespit Etme

İlk hedef: 502’yi kim döndürüyor?

  • Tarayıcıda “nginx” yazıyorsa genelde Nginx kaynaklıdır.
  • Cloudflare kullanıyorsan hata sayfasında Cloudflare logosu ve “Browser / Cloudflare / Host” gibi bölümler olur.

Hızlı test adımları

  1. CDN/Proxy kapat (varsa): Cloudflare kullanıyorsan geçici olarak “DNS only (gri bulut)” yapıp test et.
  2. Sunucuyu direkt IP ile test et: Host dosyası üzerinden domain’i origin IP’ye yönlendirip kontrol et.
  3. Loglara bak: En hızlı doğru teşhis, logdan gelir.

502 Bad Gateway Çözümü: Adım Adım

Aşağıdaki adımlar en yaygın senaryolara göre sıralıdır. Sunucu yönetimi yapabiliyorsan SSH ile ilerle; cPanel/Plesk kullanıyorsan panel üzerinden de benzer kontroller yapılır.


1) Nginx Loglarını Kontrol Et

Nginx kullanıyorsan önce hata logu:

  • Genel hata logu (dağıtıma göre değişebilir):
    • /var/log/nginx/error.log
  • Site bazlı log:
    • /var/log/nginx/<site>-error.log

Araman gereken tipik ifadeler:

  • connect() failed (111: Connection refused) while connecting to upstream
  • upstream timed out (110: Connection timed out)
  • recv() failed (104: Connection reset by peer)

Bu satırlar 502’nin upstream bağlantısı ile ilgili olduğunu netleştirir:

  • “Connection refused” → upstream servis kapalı/port dinlemiyor
  • “timed out” → upstream çok yavaş/yoğun/timeout düşük
  • “reset by peer” → upstream çökmüş ya da bağlantıyı kapatmış

2) PHP-FPM Çalışıyor Mu? Servis Kontrolü

WordPress/PHP sitelerde çözüm çoğu zaman PHP-FPM’i ayağa kaldırmaktır.

Kontrol:

  • PHP-FPM servis adı sistemine göre değişebilir:
    • php-fpm
    • php8.1-fpm, php8.2-fpm vb.

Yapılacaklar:

  • Servis durduysa yeniden başlat.
  • Sürekli düşüyorsa RAM, pm ayarları, e-klenti hatası veya memory limit kaynaklı olabilir.

PHP-FPM havuz (pool) dolması

Yoğun trafikte pm.max_children düşükse PHP-FPM kuyruğu dolar, Nginx upstream’e erişemez ve 502 oluşabilir.

Genel öneri:

  • RAM’e göre pm.max_children ayarlanmalı.
  • pm = dynamic veya ondemand senaryoya göre seçilmeli.
  • request_terminate_timeout ve max_execution_time dengelenmeli.

3) Nginx FastCGI/Socket Ayarlarını Doğrula

Nginx + PHP-FPM kullanıyorsan kritik nokta:

  • fastcgi_pass unix:/run/php/php8.x-fpm.sock;
    veya
  • fastcgi_pass 127.0.0.1:9000;

En sık hata:

  • PHP sürümü yükseltildi ama Nginx hala eski socket’e bakıyor.
  • Socket path değişti.
  • PHP-FPM portu değişti.

Çözüm:

  • Nginx site config’te fastcgi_pass hedefini doğru PHP-FPM socket/port ile eşleştir.
  • Ardından Nginx’i yeniden yükle (reload).

4) Apache Proxy Kullanıyorsan (Reverse Proxy) Ayarları Kontrol Et

Apache’nin ön tarafta olduğu bazı kurulumlarda (özellikle panel kurulumları, özel reverse proxy yapıları):

  • ProxyPass / ProxyPassReverse
  • mod_proxy_fcgi üzerinden PHP-FPM yönlendirmesi

Bu durumda:

  • Proxy hedefi yanlışsa 502 çıkar.
  • Apache logları:
    • /var/log/apache2/error.log veya /usr/local/apache/logs/error_log

Araman gerekenler:

  • AH01079: failed to make connection to backend
  • proxy_fcgi:error

5) Cloudflare Kullanıyorsan: 502’nin Türünü Ayırt Et

Cloudflare’da 502 bazen origin’e erişilememesi veya origin’in bozuk yanıt dönmesiyle ilgilidir. Şunları kontrol et:

  • Origin sunucu çalışıyor mu?
  • Firewall Cloudflare IP’lerini engelliyor mu?
  • Rate limit / WAF kuralı yanlış tetikleniyor mu?

Hızlı çözüm testi:

  • Cloudflare’ı geçici kapat (DNS only) ve site düzeliyor mu bak.
  • Düzeliyorsa problem büyük ihtimalle Cloudflare ↔ Origin hattında.

Ayrıca:

  • SSL modu (Flexible/Full/Strict) yanlışsa bazen bağlantı problemleri zincirleme hatalara yol açabilir.
  • Origin SSL sertifikası/portlar doğru mu kontrol et.

6) Sunucu Kaynaklarını Kontrol Et (CPU/RAM/Disk)

502 hatası bazen direkt olarak “sunucu boğuldu” demektir.

Kontrol listesi:

  • RAM dolu mu? Swap’e mi düşmüş?
  • CPU sürekli %100 mü?
  • Disk dolu mu?
  • IO wait yüksek mi?

Eğer disk dolarsa:

  • PHP session yazamaz, log yazamaz, servisler saçmalar ve 502/503 patlayabilir.

Önlem:

  • Log rotasyonu açık olmalı.
  • Yedekleme dosyaları, cache klasörleri, eski loglar düzenli temizlenmeli.

7) WordPress Kaynaklı 502 Çözümleri

WordPress’te 502’nin en yaygın nedenleri:

  • Bozuk eklenti/tema
  • Yetersiz PHP memory limit
  • Çok ağır sorgu / cache yokluğu
  • Uzun süren işlemler (backup, import, tarama)

A) Eklentileri pasifleştirerek test

Panel açılmıyorsa:

  • wp-content/plugins klasörünün adını değiştir (örnek: plugins_old)
  • Site düzelirse problem eklentilerdedir.

B) Temayı geçici değiştir

  • wp-content/themes içinden aktif temayı değiştirip varsayılan temaya geç.

C) PHP Memory Limit artır

WordPress büyük eklentilerde memory_limit yetersiz kalabilir.

  • wp-config.php içine:
    • define('WP_MEMORY_LIMIT', '256M');
      (Barındırmaya göre etkisi sınırlı olabilir, asıl limit PHP tarafındadır.)

D) Cache kullan

Cache yoksa her istek PHP’ye biner:

  • Sayfa cache (LiteSpeed Cache / WP Rocket vb.)
  • Object cache (Redis/Memcached)
  • OPcache aktif olmalı

8) Timeout Ayarlarını Dengele (502/504 İçin Kritik)

Eğer loglarda upstream timed out görüyorsan:

  • Uygulama yavaş veya işlem uzun sürüyor.
  • Proxy timeout düşük kalıyor.

Kontrol edilecek yerler:

  • Nginx:
    • proxy_read_timeout
    • fastcgi_read_timeout
  • PHP:
    • max_execution_time
  • Cloudflare:
    • Origin response time sınırları (plan ve türüne göre değişebilir)

Burada önemli olan sadece timeout artırmak değil:

  • Yavaşlamanın nedenini çözmek (DB optimizasyonu, cache, eklenti temizliği, kaynak artırımı).

9) Veritabanı Sorunları 502’ye Sebep Olabilir

MySQL/MariaDB çöker veya çok yavaşlarsa PHP yanıt üretemez.
Kontrol:

  • DB servis durumu
  • Bağlantı sayısı (max connections)
  • Slow query log

Çözüm:

  • Slow query’leri optimize et
  • Index ekle
  • Cache (object cache) devreye al

10) SSL/TLS ve Güvenlik Duvarı Kontrolleri

Bazen 502, “arkaya erişemiyorum” demektir:

  • UFW/CSF/iptables upstream portunu engelliyor olabilir
  • Fail2ban kuralı ters çalışıp proxy’yi banlamış olabilir
  • ModSecurity yanlış pozitif üretiyor olabilir

Cloudflare kullanıyorsan:

  • Cloudflare IP aralıkları whitelist yapılmalı (özellikle sıkı firewall’larda)

502 Bad Gateway İçin Hızlı Çözüm Checklist’i

Aşağıdaki listeyi sırayla uygula:

  1. CDN/Cloudflare varsa geçici devre dışı bırakıp test et
  2. Nginx/Apache error log’u incele
  3. PHP-FPM çalışıyor mu kontrol et, gerekiyorsa yeniden başlat
  4. Nginx fastcgi_pass / proxy upstream doğru mu doğrula
  5. Sunucu kaynaklarını kontrol et (RAM/CPU/Disk/IO)
  6. WordPress eklenti/tema kaynaklı mı izole et
  7. DB servis ve performansını kontrol et
  8. Timeout ayarlarını loglara göre düzenle
  9. Firewall/WAF engeli var mı kontrol et

502 Bad Gateway Hatasını Kalıcı Olarak Önleme

Kalıcı çözüm için sadece “servisi restart” etmek yetmez. Şunları yap:

  • PHP-FPM havuz ayarlarını sunucu RAM’ine göre yapılandır
  • OPcache aktif et
  • WordPress’te sayfa cache + object cache kullan
  • Düzenli log rotasyonu ve disk kontrolü kur
  • Uptime/health check ile servis düşmelerini erken yakala
  • Trafik artıyorsa ölçekle (CPU/RAM artır, ayrı DB sunucusu, CDN yapılandırması)

Sık Sorulan Sorular

502 ile 504 arasındaki fark nedir?

  • 502: Gateway upstream’den geçersiz yanıt aldı.
  • 504: Gateway upstream’den zamanında yanıt alamadı (timeout).

502 sadece belirli sayfalarda oluyorsa?

Genelde:

  • O sayfa ağır çalışıyordur (sorgu/eklenti)
  • Timeout veya bellek limitine takılıyordur
  • Cache eksikliği vardır

502 aralıklı gelip gidiyorsa?

Bu çoğu zaman:

  • Trafik dalgalanması
  • PHP-FPM süreç havuzunun dolması
  • RAM/CPU baskısı
  • Arka uç servisin ara ara çökmesi

Sonuç

502 Bad Gateway hatası, çoğunlukla “proxy ile arka uç servis arasında kopukluk” problemidir. Doğru çözüm, hatayı kimin ürettiğini tespit edip (Nginx/Apache/Cloudflare) log üzerinden upstream bağlantısını incelemek ve ardından PHP-FPM, kaynak, timeout, yanlış yönlendirme veya uygulama hatası gibi kök sebebi gidermektir.

  • admin

    İletişim info@serthosting.com

    Related Posts

    Bilmeniz Gereken Önemli Linux İşletim Sistemleri

    Linux, açık kaynaklı yapısı, esnekliği ve güvenliği sayesinde hem bireysel kullanıcılar hem de kurumsal yapılar için vazgeçilmez bir işletim sistemi ailesidir. Çekirdeği (Linux Kernel) aynı olsa da, farklı ihtiyaçlara göre…

    Fiziksel Sunucuma Ne Kurmalıyım? VDS Satışı Yapmak İçin Gerekenler (Detaylı Rehber)

    Fiziksel bir sunucuya sahipseniz ve bu sunucu üzerinden VDS (Virtual Dedicated Server) satışı yapmak istiyorsanız, doğru altyapıyı kurmanız kritik öneme sahiptir. Yanlış bir sanallaştırma seçimi, hatalı network yapılandırması veya eksik…

    Bir yanıt yazın

    E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

    Gözden Kaçanlar

    Bilmeniz Gereken Önemli Linux İşletim Sistemleri

    • 8 views
    Bilmeniz Gereken Önemli Linux İşletim Sistemleri

    Fiziksel Sunucuma Ne Kurmalıyım? VDS Satışı Yapmak İçin Gerekenler (Detaylı Rehber)

    • 6 views
    Fiziksel Sunucuma Ne Kurmalıyım? VDS Satışı Yapmak İçin Gerekenler (Detaylı Rehber)

    GTA Roleplay Sunucusu Kurmak İçin Gerekenler

    • 20 views
    GTA Roleplay Sunucusu Kurmak İçin Gerekenler

    Rust Sunucusunda Lag Sorunu Nasıl Çözülür?

    • 17 views
    Rust Sunucusunda Lag Sorunu Nasıl Çözülür?

    Ucuz Hosting Seçerken Nelere Dikkat Edilmeli?

    • 17 views
    Ucuz Hosting Seçerken Nelere Dikkat Edilmeli?

    Kendi Sunucunda VPN Nasıl Kurulur? Adım Adım Profesyonel Rehber

    • 11 views
    Kendi Sunucunda VPN Nasıl Kurulur? Adım Adım Profesyonel Rehber