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.
| Hata | Anlamı |
|---|---|
| 502 Bad Gateway | Upstream servis geçersiz bir yanıt verdi veya hiç yanıt vermedi |
| 504 Gateway Timeout | Upstream 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 statusile 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.loghatanı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.
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.
KEYDAL hosting çözümleriyle doğru yapılandırılmış, izlenen ve kararlı bir altyapıda yayında olun. KEYDAL hosting çözümleri