Sitenizi açtığınızda içerik yerine "502 Bad Gateway" veya "504 Gateway Timeout" görmek can sıkıcıdır. İyi haber şu: bu hatalar genellikle belirli ve çözülebilir nedenlerden kaynaklanır. Bu rehberde iki hatanın ne anlama geldiğini, farklarını ve adım adım çözümünü açıklıyoruz.

İlgili içerikler: PHP-FPM yapılandırma · Linux loglarını okuma · systemd servis yönetimi

Bu Hatalar Ne Anlama Gelir?

Modern web sunucuları çoğu zaman bir gateway (geçit) gibi çalışır: gelen isteği alır ve onu arka plandaki bir upstream servise — örneğin PHP-FPM, bir Node.js uygulaması veya başka bir sunucuya — iletir. 502 ve 504, işte bu iletme sırasında bir şeylerin ters gittiğini söyler.

HataAnlamı
502 Bad GatewayUpstream servis geçersiz bir yanıt verdi veya hiç yanıt vermedi
504 Gateway TimeoutUpstream servis zamanında yanıt vermedi (süre aşımı)

Kısaca: 502 genellikle "arka plandaki servis çökmüş veya bozuk", 504 ise "arka plandaki servis çalışıyor ama çok yavaş" demektir.

502 Bad Gateway'in Yaygın Nedenleri

  • Upstream servis çalışmıyor: PHP-FPM veya uygulama servisi durmuş. systemctl status ile kontrol edin.
  • Yanlış socket/port: Web sunucusunun yapılandırmasındaki upstream adresi, servisin gerçek adresiyle uyuşmuyor.
  • Servis çöküyor: Uygulama başlatılıyor ama bir hata nedeniyle hemen çöküyor — loglara bakın.
  • İzin sorunu: Web sunucusu, upstream socket dosyasına erişemiyor.

504 Gateway Timeout'un Yaygın Nedenleri

  • Çok yavaş işlem: Bir PHP betiği veya sorgu, izin verilen süreden uzun çalışıyor.
  • Tükenmiş işçi havuzu: Tüm PHP-FPM işçileri meşgul, yeni istek sıraya girip zaman aşımına uğruyor.
  • Yavaş veritabanı: Uygulama bir veritabanı yanıtını beklerken takılıyor.
  • Düşük timeout değeri: Web sunucusunun upstream bekleme süresi gerçek ihtiyaca göre çok kısa.

Adım Adım Çözüm

Bir gateway hatasıyla karşılaştığınızda sırayla ilerleyin:

  • 1. Upstream servisi kontrol edin: systemctl status php8.3-fpm — servis çalışıyor mu? Çalışmıyorsa başlatın.
  • 2. Web sunucusu hata loguna bakın: /var/log/nginx/error.log hatanın tam nedenini sık sık doğrudan söyler.
  • 3. Upstream adresini doğrulayın: Yapılandırmadaki socket/port, servisin gerçekte dinlediği adresle aynı mı?
  • 4. 504 için süre/kaynak bakın: Yavaş bir sorgu mu var, işçi havuzu mu tükenmiş, timeout mu düşük?
  • 5. Servisi yeniden başlatın: Geçici bir takılma için upstream servisi yeniden başlatmak çoğu zaman çözer.
Uyarı
504 hatasını yalnızca timeout değerini yükselterek "çözmek" çoğu zaman yanlıştır — bu, asıl sorunu (yavaş sorgu, yetersiz kaynak) gizler. Önce neden yavaş olduğunu bulun; timeout artırımı son çare olmalıdır.

Sıkça Sorulan Sorular

502 hatası kendiliğinden geçti, sorun çözüldü mü?

Hayır. Kendiliğinden geçen bir 502, genellikle servisin geçici olarak çöküp yeniden başladığını gösterir. Tekrar edecektir; logları inceleyip kök nedeni bulun.

Hata benim sitemde mi yoksa sunucuda mı?

502/504 sunucu tarafı hatalardır — ziyaretçinin yapabileceği bir şey yoktur. Sorun, web sunucusu ile arka plandaki servis arasındaki iletişimdedir.

CDN kullanırken 502 görüyorum, neden?

CDN'in gösterdiği 502, CDN'in origin sunucunuza ulaşamadığı anlamına gelebilir. Origin sunucunuzun çalıştığını ve CDN'in doğru adrese bağlandığını kontrol edin.

Kararlı ve Hatasız Sunucu

KEYDAL hosting çözümleriyle doğru yapılandırılmış, izlenen ve kararlı bir altyapıda yayında olun. KEYDAL hosting çözümleri

WhatsApp