502 Bad Gateway hatası nedir?
502 Bad Gateway (Geçersiz Ağ Geçidi) hatası, internetteki bir sunucunun, başka bir sunucudan (genellikle ana uygulama sunucusundan) geçersiz veya yetersiz bir yanıt aldığını belirten bir HTTP durum kodudur. Web sitelerinde ön planda Nginx (Ters Proxy) ve arka planda Apache veya PHP-FPM servisleri çalışıyorsa, ön plandaki sunucu arkadaki PHP servisinden zamanında yanıt alamadığında ziyaretçiye 502 hatasını gösterir.
Sitenizin erişilebilir kalması ve arama motoru botlarının (SEO) sitenizi kapalı görmemesi için sunucu tarafındaki bu hatayı hızlıca teşhis etmek gerekir.
Sunucu tarafında 502 hatası nasıl çözülür?
SSH ile sunucunuza root olarak bağlandıktan sonra sırasıyla şu kontrolleri yapın:
1. PHP-FPM servisinin durumunu kontrol edin (En Sık Neden)
502 hatasının en yaygın sebebi arka planda PHP kodlarını işleyen PHP-FPM servisinin çökmüş veya aşırı yük altında olmasıdır. Servisin durumunu kontrol edin:
# PHP sürümünüze göre kontrol edin (Örn: PHP 8.1)
systemctl status php8.1-fpm # Ubuntu için
systemctl status php-fpm # AlmaLinux / cPanel için
Eğer servis "inactive" veya "failed" durumdaysa, yeniden başlatın:
systemctl restart php-fpm # Veya php8.1-fpm
2. Nginx ve PHP-FPM soket ayarlarını kontrol edin
Nginx ile PHP-FPM arasındaki haberleşme UNIX soketi veya TCP portu üzerinden gerçekleşir. Yapılandırma dosyalarında soket yollarının aynı olduğunu doğrulayın:
- Nginx yapılandırması (`/etc/nginx/sites-available/...`):
fastcgi_pass unix:/run/php/php8.1-fpm.sock; - PHP-FPM havuz yapılandırması (`/etc/php-fpm.d/www.conf`):
listen = /run/php/php8.1-fpm.sock
Eğer bu iki yol birbiriyle eşleşmiyorsa, Nginx PHP servisine ulaşamaz ve 502 hatası verir.
3. Zaman aşımı limitlerini (Timeout) artırın
Uzun süren PHP scriptleri (veri içe aktarma, büyük yedek alma vb.) zaman aşımına uğradığında 502 hatası tetiklenebilir. Limitleri artırmak için Nginx yapılandırma dosyanıza şu satırları ekleyin:
fastcgi_read_timeout 300;
proxy_read_timeout 300;
Ardından Nginx'i yeniden yükleyin:
systemctl reload nginx
Sık sorulan sorular
502 Bad Gateway hatası tarayıcı önbelleğinden kaynaklanabilir mi?
Evet, bazen sunucuda sorun çözülmüş olsa bile tarayıcınız eski hatalı sayfayı önbellekte tutabilir. Tarayıcı geçmişinizi temizleyebilir veya gizli sekmeden giriş yaparak sitenin durumunu test edebilirsiniz.
Sunucumda yeterli RAM olmadığı için mi 502 hatası alıyorum?
Evet. Özellikle anlık trafik artışlarında RAM bittiğinde işletim sistemi PHP-FPM süreçlerini sonlandırır. Bu durumda daha yüksek kaynak sunan bir VDS sunucu paketine geçmek en sağlıklı çözümdür.