Web geliştiricisi ya da site yöneticisiyseniz, "Too Many Redirects" hatası kesinlikle size yabancı değildir. Peki, bir sabah sitenizi kontrol ettiğinizde karşınıza çıkan bu hata ile nasıl başa çıkacaksınız? Hadi gelin, bu hatanın ne olduğunu, hangi sebeplerle ortaya çıktığını ve nasıl çözebileceğinizi adım adım keşfedelim.
Nginx 'Too Many Redirects' Hatası Nedir?
Ama endişelenmeyin! Bu hata genellikle basit bir yanlış yapılandırma sonucu meydana gelir ve doğru adımları takip ederek kolayca çözülebilir.
Hatanın Kök Nedenleri
- Yanlış Yönlendirme Kuralları: Nginx yapılandırma dosyanızda yanlış yönlendirme kuralları veya aşırı yönlendirme içeren kurallar.
- SSL / HTTPS Yönlendirmeleri: HTTP'den HTTPS'ye yapılan yönlendirmelerde bir döngü oluşabilir. Örneğin, siteniz her zaman HTTPS'ye yönlendirilmek isteniyor ama yapılandırma hatası yüzünden bir döngü yaratılıyor.
- Çift Yönlendirme: Bir sayfa birden fazla yerde yönlendirme alıyorsa, bu da döngü oluşturabilir.
- Tarayıcı Çerezleri: Bazen tarayıcı çerezleri de yönlendirme hatalarına yol açabilir. Bu durumda tarayıcı eski yönlendirme bilgilerini kullanarak hata verebilir.
Çözüm Yöntemleri
# Adım 1: Yönlendirme Kurallarını Gözden Geçirin
server {
listen 80;
server_name www.orneksite.com orneksite.com;
return 301 https://$host$request_uri;
}
Bu yapı, HTTP isteklerini düzgün bir şekilde HTTPS'ye yönlendirecektir. Ancak, eğer burada başka yönlendirme kuralları varsa, bunları dikkatlice kontrol edin ve birbirleriyle çelişmediğinden emin olun.
# Adım 2: SSL/TLS Ayarlarını Kontrol Edin
server {
listen 443 ssl;
server_name orneksite.com;
ssl_certificate /etc/ssl/certs/orneksite.com.crt;
ssl_certificate_key /etc/ssl/private/orneksite.com.key;
# Diğer SSL ayarları
}
Doğru sertifikaların kullanıldığından ve tüm SSL parametrelerinin doğru yapılandırıldığından emin olun.
# Adım 3: Çift Yönlendirme Kurallarını Kaldırın
# Adım 4: Tarayıcı Çerezlerini Temizleyin
# Adım 5: Nginx’i Yeniden Başlatın
sudo systemctl restart nginx
Bu komut, Nginx’i yeniden başlatacak ve yaptığınız değişikliklerin aktif olmasını sağlayacaktır.
# Adım 6: Tarayıcı ve Sunucu Arasında Test Yapın
sudo tail -f /var/log/nginx/error.log
Log dosyalarındaki hata mesajları, sorunun nedenini daha net anlamanıza yardımcı olabilir.
Sonuç
Eğer hala hata devam ediyorsa, daha derinlemesine bir inceleme yaparak sorunları bulabilirsiniz. Ancak, bu adımlar genellikle çözüm için yeterlidir.