İnternette gezinirken veya kendi sitenize girmeye çalışırken karşınıza çıkan o soğuk beyaz ekran ve üzerindeki meşhur yazı: 502 Bad Gateway (Geçersiz Ağ Geçidi). Bilgisayarınız mı bozuldu, internetiniz mi kesildi, yoksa site tamamen mi çöktü?
Bu rehberde; 502 hatasının ne anlama geldiğini, ziyaretçi tarafındaki kontrolleri ve WordPress/sunucu yöneticileri için adım adım kesin çözüm yollarını inceliyoruz.
1. 502 Bad Gateway Nedir? (Restoran Benzetmesi)
Web sitelerinin arkasındaki çalışma mantığını lüks bir restorana benzetebiliriz:
- Müşteri (Tarayıcınız): Masaya oturup hamburger siparişi veren kişisiniz.
- Garson (Web Sunucusu / Nginx / Apache): Masanıza gelip siparişi alan ve mutfağa ileten kişidir.
- Mutfak (PHP-FPM / WordPress Kodları / Veritabanı): Siparişi hazırlayan aşçıdır.
502 Hatasının Koptuğu An: Garson mutfağa gider ancak aşçı bayılmıştır, mutfakta yangın çıkmıştır ya da tabak kırılmıştır. Garson masanıza eli boş döner ve mahcup bir şekilde der ki: “Kusura bakmayın, mutfaktan geçerli bir sipariş alamadım.”
Kısacası 502; ön taraftaki sunucunun (Nginx/Cloudflare), arka plandaki yazılımdan (PHP/WordPress) bozuk veya geçersiz bir yanıt aldığını gösterir.
2. 502 ile 504 Arasındaki Fark Nedir?
- 502 Bad Gateway: Garson mutfağa gider gitmez mutfaktan hemen “burası çöktü / hata verdi” cevabını alır (Geçersiz/Kopuk Yanıt).
- 504 Gateway Timeout: Garson mutfak kapısında dakikalarca bekler ama aşçıdan hiçbir ses seda çıkmaz (Zaman Aşımı / Donma).
- 500 Internal Server Error: Doğrudan kodun kendi içinde ölümcül bir yazılım hatası meydana gelmiştir.
3. Ziyaretçiler İçin Kontrol Adımları
Eğer bir sitede bu hatayı görüyorsanız sorun %95 oranında sitenin sunucusundan kaynaklıdır. Ancak kendi tarafınızı doğrulamak için şu adımları uygulayabilirsiniz:
- Zorla Yenileme Yapın (Hard Refresh): Tarayıcı önbelleğindeki eski bozuk dosyaları atlamak için
Ctrl + F5(Mac:Cmd + Shift + R) tuşlarına basın. - Gizli Sekmede Açın: Eski oturum çerezlerini veya tarayıcı eklentilerini elemek için siteyi gizli pencerede test edin.
- DNS Önbelleğini Temizleyin: Komut İstemcisi’ni (CMD) açıp
ipconfig /flushdnskomutunu çalıştırın. - 5-10 Dakika Bekleyin: Site yöneticisi muhtemelen bir güncelleme veya sunucu bakımı yapıyordur.
4. WordPress Site Sahipleri İçin Adım Adım Çözümler
Kendi WordPress sitenizde 502 hatası alıyorsanız sırasıyla şu 5 kritik noktayı kontrol edin:
A) Hatalı Eklenti veya Temayı Devre Dışı Bırakma
WordPress’te 502 hatasının en yaygın sebebi yeni güncellenen bozuk bir eklenti veya kod çakışmasıdır.
- FTP veya Dosya Yöneticisi üzerinden
wp-content/pluginsklasörünün adını geçici olarakplugins_deaktifyapın. - Eğer site açılırsa sorun bir eklentidendir. Klasör adını düzeltip eklentileri tek tek aktif ederek suçluyu bulun.
B) PHP Bellek Limitini (Memory Limit) Artırma
WordPress siteniz karmaşık bir işlem yaparken sunucunun izin verdiği varsayılan PHP belleği yetersiz kalabilir. Sitenizin ana dizinindeki wp-config.php dosyasını açıp /* That's all, stop editing! */ satırının hemen üstüne şunu ekleyin:
define('WP_MEMORY_LIMIT', '256M');
C) PHP-FPM ve Nginx Servislerini Yeniden Başlatma
Anlık bir kilitlenme nedeniyle PHP-FPM servisi durmuş olabilir. SSH üzerinden servisi yeniden başlatmak çoğu zaman siteyi saniyeler içinde ayağa kaldırır:
# PHP-FPM servisini yeniden başlatın
sudo systemctl restart php8.2-fpm
# Nginx servisini yeniden yükleyin
sudo systemctl reload nginx
D) Yetersiz Sunucu RAM’i ve Linux OOM-Killer
Sunucunuzun RAM’i %100 dolduğunda, Linux çekirdeği sunucunun tamamen kilitlenmesini önlemek için en çok bellek tüketen PHP sürecini zorla kapatır (Out of Memory). Çözüm olarak sunucunuza acil 2 GB takas alanı (Swap) ekleyin:
sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
E) Nginx Zaman Aşımı ve Buffer Limitlerini Genişletme
Arka uçtan dönen veri başlıkları Nginx varsayılan tamponunu aştığında veya işlem uzun sürdüğünde bağlantı kopar. Nginx vhost konfigürasyonunuza şu parametreleri ekleyin:
fastcgi_read_timeout 300s;
proxy_read_timeout 300s;
fastcgi_buffer_size 128k;
fastcgi_buffers 4 256k;
fastcgi_busy_buffers_size 256k;
5. Hızlı Teşhis ve Çözüm Tablosu
| Hata Kaydı / Belirti | Olası Neden | Çözüm Yolu |
|---|---|---|
111: Connection refused | PHP-FPM servisi durmuş veya kapalı | systemctl restart php8.2-fpm |
Killed process (Out of memory) | Sunucu RAM’i yetersiz kalmış | Swap alanı açın veya RAM yükseltin |
upstream sent too big header | HTTP başlıkları tampon limitini aşmış | Nginx fastcgi_buffer_size 128k; ekleyin |
Cloudflare 502 / 520 | Asıl sunucudaki web servisi kapalı | Sunucu loglarını (Nginx error.log) inceleyin |
Özet
502 Bad Gateway hatası dünyanın sonu değildir; sadece ön taraftaki web sunucusunun arka plandaki PHP/WordPress motoruna ulaşamadığını haber veren bir iletişim uyarısıdır. Servisleri kontrol etmek, bellek limitlerini artırmak ve eklenti çakışmalarını elemek sorunu kökten çözer.
Sunucunuzda çözemediğiniz özel teknik logları veya altyapı sorularınızı VeriBarındır Topluluk Forumu üzerinden paylaşarak doğrudan destek alabilirsiniz.