DataSSL Panel v2 Yayında! — Yeni DataSSL Panel v2 ile daha modern, hızlı ve kullanıcı dostu bir deneyim sunuyoruz.Yenilikler:Modern ve responsive ta...
Anasayfa İletişim
SSL Güvenliği

ERR_TOO_MANY_REDIRECTS: SSL Yönlendirme Döngüsü Hatası ve Çözümü

SSL kurulumu sonrası ERR_TOO_MANY_REDIRECTS redirect loop hatasının nedenleri. Cloudflare, Nginx, Apache ve WordPress'te yönlendirme döngüsü çözümü.

9 dk okuma

ERR_TOO_MANY_REDIRECTS Nedir?

ERR_TOO_MANY_REDIRECTS hatası, tarayıcının bir sayfa için sınırsız yönlendirme döngüsüne girdiğinde ortaya çıkar. Tarayıcı genellikle 20 yönlendirmeden sonra bir üst limit koyarak döngüyü keser ve bu hatayı gösterir.

SSL kurulumundan sonra bu hata çok yaygındır çünkü HTTP → HTTPS yönlendirmesi ve sunucu/CDN/uygulama arasındaki basamaklar doğru yapılandırılmadığında sonsuz döngü oluşabilir.

Tipik Yönlendirme Döngüsü Senaryosu

Kullanıcı http://example.com adresini ziyaret eder:

  1. Sunucu: HTTP → HTTPS yönlendir → https://example.com
  2. CDN/Proxy: HTTPS → HTTP olarak origin'e iletir
  3. Sunucu: HTTP → HTTPS yönlendir → https://example.com
  4. ... sonsuz döngü

Neden 1: Cloudflare SSL Modu Yanlış

En yaygın neden. Cloudflare SSL modu "Flexible" ise, Cloudflare ile ziyaretçi arasında HTTPS kullanılır ama Cloudflare, origin sunucuya HTTP ile bağlanır. Sunucuda HTTP→HTTPS yönlendirmesi varsa döngü oluşur.

Çözüm

  • Cloudflare SSL modunu "Full" veya "Full (Strict)" olarak ayarlayın
  • Full: Origin'de herhangi bir SSL sertifikası (self-signed dahil) yeterli
  • Full (Strict): Origin'de geçerli bir SSL sertifikası gerekli (önerilen)

Cloudflare Dashboard → SSL/TLS → Overview → SSL bilgisi modunu değiştirin.

Neden 2: Nginx/Apache'de Çakışan Kurallar

Hem sunucu bloğunda hem .htaccess dosyasında yönlendirme kuralları varsa çakışma olabilir.

Nginx Çözümü

# YANLIŞ: Aynı server bloğunda döngü
server {
    listen 443 ssl;
    server_name example.com;
    # Bu kural HTTPS'teyken bile tetiklenir!
    if ($scheme = "http") {
        return 301 https://$host$request_uri;
    }
}

# DOĞRU: Ayrı server blokları
server {
    listen 80;
    server_name example.com www.example.com;
    return 301 https://www.example.com$request_uri;
}

server {
    listen 443 ssl;
    server_name example.com www.example.com;
    # ... SSL yapılandırması
}

Apache Çözümü

# YANLIŞ: Döngü oluşturan kural
RewriteEngine On
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

# DOĞRU: HTTPS kontrolü eklendi
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

# VEYA: X-Forwarded-Proto kontrolü (proxy/CDN arkasında)
RewriteCond %{HTTP:X-Forwarded-Proto} !=https
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Neden 3: WordPress Site URL Sorunu

WordPress'te "Site URL" ve "WordPress URL" HTTP olarak ayarlanmışsa, WordPress kendi yönlendirmesini HTTP'ye yapar.

Çözüm

# wp-config.php dosyasına ekleyin
define('WP_HOME', 'https://www.example.com');
define('WP_SITEURL', 'https://www.example.com');

# Veya veritabanında güncelleyin
UPDATE wp_options SET option_value = 'https://www.example.com' WHERE option_name = 'siteurl';
UPDATE wp_options SET option_value = 'https://www.example.com' WHERE option_name = 'home';

Neden 4: Load Balancer veya Reverse Proxy

Load balancer SSL'i sonlandırıp (SSL termination) backend'e HTTP ile ilettiğinde, backend sunucu HTTPS'te olmadığını düşünerek yönlendirme yapar.

Çözüm

# Nginx: Proxy'den gelen header'ı kontrol et
set $redirect_https 0;
if ($scheme = "http") { set $redirect_https 1; }
if ($http_x_forwarded_proto = "https") { set $redirect_https 0; }
if ($redirect_https = 1) { return 301 https://$host$request_uri; }

# Apache: X-Forwarded-Proto kontrolü
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Hata Ayıklama: Yönlendirme Zincirini Görme

# curl ile yönlendirme zincirini izleyin
curl -vL http://example.com 2>&1 | grep -i "location:"

# Veya httpstatus.io adresini kullanın (web aracı)
# Her adımdaki yönlendirmeyi ve HTTP kodlarını gösterir

Sonuç

ERR_TOO_MANY_REDIRECTS hatası genellikle CDN/proxy SSL modu ile sunucu yönlendirme kuralları arasındaki uyumsuzluktan kaynaklanır. Cloudflare kullanıyorsanız "Full (Strict)" SSL modu, aksi halde X-Forwarded-Proto header kontrolü sorunu çözer. curl komutuyla yönlendirme zincirini izleyerek sorunlu adımı hızlıca tespit edebilirsiniz.

Bu yazıyı paylaş
Yazar

Ali Yiğit

Önerilen SSL Sertifikaları

Tüm Ürünler
EV Certum

Certum Premium EV Multi-Domain SSL

Certum Premium EV Multi-Domain SSL ile birden fazla domaini EV düzeyinde koruyun. Şirket adı görünür

€354,97 /yıl
Detaylar
EV Certum

Certum Premium EV SSL

Certum Premium EV SSL ile en yüksek güven seviyesini sağlayın. Genişletilmiş doğrulama, şirket adı g

€287,20 /yıl
Detaylar
OV Certum

Certum Trusted Multi-Domain SSL

Certum Trusted Multi-Domain SSL ile birden fazla domain'i OV düzeyinde koruyun. Şirket adı görünür,

€219,42 /yıl
Detaylar