502 Bad Gateway Hatası Nedir?
Bu hata, Nginx'in arka uç sunucusuna (genellikle bir uygulama sunucusu veya veritabanı) ulaşamadığını gösterir. Yani, Nginx isteği iletmiş fakat arka uç sunucusu yanıt verememiştir. Bunun pek çok nedeni olabilir.
502 Bad Gateway Hatasının Yaygın Nedenleri
Uygulamanız veya veritabanınız çökmüş olabilir. Nginx bir şey almak istiyor ama alamıyor. Bu durumda, ilgili servisi kontrol edip yeniden başlatmak gerekebilir.
2. Yanıt Süresi Aşımı:
Eğer sunucunuz beklenenden daha uzun sürede yanıt veriyorsa, Nginx bu süreyi aşıp zaman aşımına uğrar ve 502 hatası alırsınız. Bu genellikle yoğun trafik sırasında yaşanır.
3. Yanlış Yapılandırılmış Proxy Ayarları:
Eğer Nginx, doğru IP adresine veya porta yönlendirme yapmazsa, 502 hatası alırsınız. Bu tür yapılandırma hataları, yanlış ayarlanmış proxy_pass parametrelerinden kaynaklanabilir.
502 Hatasını Çözmek İçin Neler Yapabilirsiniz?
1. Sunucuyu Yeniden Başlatın
Bazen çözüm basit olabilir. Sunucunuzun yeniden başlatılması, geçici sorunları çözebilir. Bunu yapmak için aşağıdaki komutu kullanabilirsiniz:
sudo systemctl restart nginx
Eğer uygulama sunucusunda sorun varsa, onu da yeniden başlatmak faydalı olabilir. Örneğin, PHP-FPM kullanıyorsanız, aşağıdaki komutu çalıştırabilirsiniz:
sudo systemctl restart php7.4-fpm
# 2. Sunucu Loglarını Kontrol Edin
Nginx'in hata logları size önemli ipuçları verebilir. Genellikle log dosyaları `/var/log/nginx/` klasöründe bulunur. Log dosyasını açarak, hatanın detaylarını öğrenebilirsiniz:
cat /var/log/nginx/error.log
Eğer loglarda bir hata mesajı görüyorsanız, o mesajı çözüm arayışınızda kullanabilirsiniz.
# 3. Proxy ve Timeout Ayarlarını Gözden Geçirin
Nginx, bazı proxy ayarlarına bağlı olarak zaman aşımı sorunları yaşayabilir. `proxy_pass` ve `proxy_read_timeout` gibi parametreleri doğru yapılandırmanız gerekir. Aşağıdaki ayarları `/etc/nginx/nginx.conf` dosyanızda yapmayı deneyin:
http {
server {
location / {
proxy_pass http://localhost:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_read_timeout 90;
}
}
}
Bu ayarlar, hem doğru yönlendirmeyi sağlar hem de zaman aşımı sorunlarını azaltabilir.
# 4. Uygulama Sunucusunu Kontrol Edin
Eğer sorun arka uç uygulamasında ise, uygulama sunucusunu kontrol etmeniz gerekecek. PHP, Node.js veya Python gibi bir teknolojiyi kullanıyorsanız, bu servislerin düzgün çalıştığından emin olun.
sudo systemctl status php7.4-fpm
Eğer uygulama sunucusu yanıt vermiyorsa, sunucuyu yeniden başlatmanız gerekebilir.
Sonuç: 502 Hatası Karşısında Sakin Olun
Umarım bu yazı, Nginx 502 Bad Gateway hatasını anlamanızı ve çözmenizi kolaylaştırmıştır. Artık site ziyaretçileriniz hata mesajı görmek yerine, hızla içeriğinizi görüntüleyebilecekler!