VPS Sunucularda Performans ve Erişim Sorunları: DNS ve SSL Redirect Döngüsü Çözüm Rehberi

 

Modern web sunucusu yönetiminde, servislerin çalışır durumda olması her zaman sistemin sağlıklı işlediği anlamına gelmez. Özellikle VPS (Virtual Private Server) ortamlarında, dış dünyayla kurulan bağlantılarda yaşanan gecikmeler veya Cloudflare gibi proxy servislerinin yanlış yapılandırılması, sitelerin tamamen erişilemez hale gelmesine neden olabilir.

Bu makalede, sunucularda sıkça karşılaşılan iki kritik problemi ele alacağız: DNS kaynaklı Timeout (gecikme) sorunları ve Cloudflare tabanlı yönlendirme döngüsü (Too Many Redirects) hataları.

1. Bölüm: VPS Sunucularda Ani Yavaşlama ve DNS Timeout Problemi

Problem Tanımı

Sunucu uzun süredir stabil çalışırken, dış dünyaya yapılan HTTP/HTTPS isteklerinde bir anda 15-20 saniyelik gecikmeler meydana gelebilir. Bu durum genellikle sistem kaynaklarının (CPU/RAM) tükenmesiyle karıştırılsa da, aslında bir ağ çözümleme (DNS) problemidir.

Belirtiler ve Teşhis

Sorunu doğru teşhis etmek için aşağıdaki test adımları izlenmelidir:

  • Localhost Testi: curl http://127.0.0.1 komutu milisaniyeler içinde yanıt veriyorsa Nginx/Apache ve PHP-FPM servisleri sağlıklı çalışıyor demektir.

  • Dış Domain Testi: curl https://domain.com isteği 20 saniye bekliyorsa, sunucu kendi domainini dış IP üzerinden çözümlerken takılıyor demektir.

  • DNS Sorgu Testi: dig google.com komutu 127.0.0.53 (systemd-resolved) üzerinden "timeout" veriyorsa sorun DNS resolver katmanındadır.

Sorunun Kaynağı: Upstream DNS Gecikmeleri

resolvectl status komutu çalıştırıldığında, veri merkezi (provider) tarafından atanan varsayılan DNS sunucularının (örneğin: 213.136.95.10) paket kaybı yaşadığı veya UDP/TCP fallback (geri dönüş) mekanizmasında geciktiği görülür. Bu, sunucunun her dış bağlantı öncesi "adres sorma" aşamasında takılmasına neden olur.

Çözüm: Kalıcı DNS Yapılandırması (Netplan)

Provider DNS adreslerini devre dışı bırakıp Cloudflare veya Google DNS kullanmak kesin çözümdür. Ubuntu tabanlı sistemlerde Netplan yapılandırması şu şekilde güncellenmelidir:

  1. /etc/netplan/50-cloud-init.yaml (veya ilgili yaml dosyası) düzenlenir:

    YAML
     
    nameservers:
      addresses: [1.1.1.1, 8.8.8.8]
    
  2. Değişiklikler uygulanır:

    Bash
     
    netplan apply
    systemctl restart systemd-resolved
    

2. Bölüm: Cloudflare Proxy Kullanımında "Too Many Redirects" Hatası

Problem Tanımı

Sunucu tarafında tüm ayarlar doğru olmasına rağmen, siteye girişte "Sayfa doğru bir şekilde yönlendirilmiyor" uyarısı alınması, bir yönlendirme döngüsünün (loop) işaretidir.

Sorunun Kaynağı: SSL Modu Uyuşmazlığı

Bu sorun genellikle Cloudflare üzerindeki SSL/TLS ayarının "Flexible" modunda bırakılmasından kaynaklanır:

  1. Ziyaretçi, Cloudflare'e HTTPS üzerinden bağlanır.

  2. Cloudflare, sunucunuza (Flexible mod gereği) HTTP üzerinden bağlanmaya çalışır.

  3. Sunucunuz (Nginx), vhost içindeki zorunlu HTTPS yönlendirmesi nedeniyle isteği reddeder ve tekrar HTTPS'e yönlendirir.

  4. Bu süreç sonsuz bir döngüye girer.

Çözüm: Full (Strict) SSL Yapılandırması

Eğer sunucunuzda (Nginx üzerinde) geçerli bir SSL sertifikası (Let's Encrypt vb.) kuruluysa, Cloudflare SSL/TLS ayarı kesinlikle "Full" veya "Full (Strict)" moduna alınmalıdır. Bu sayede Cloudflare sunucunuzla 443 portu üzerinden haberleşir ve döngü kırılır.

Nginx Vhost Kontrolü:

Cloudflare kullanırken Nginx tarafındaki HTTPS yönlendirme bloğunun sağlıklı çalıştığından emin olun:

Nginx
 
if ($scheme != "https") {
    return 301 https://$host$request_uri;
}

Sonuç ve Öneriler

Sunucu yönetiminde yaşanan "ani" kesinti ve yavaşlıkların çoğu zaman yazılımsal hatalardan değil, altyapı servislerinin (DNS, Proxy katmanları) yanlış yapılandırılmasından kaynaklandığı görülmektedir.

Profesyonel Sunucu Yönetimi İçin Tavsiyeler:

  1. Güvenilir Resolver Kullanın: VPS kurulumu sonrası varsayılan provider DNS'leri yerine her zaman global (1.1.1.1 veya 8.8.8.8) DNS'leri tercih edin.

  2. SSL Senkronizasyonu: Cloudflare veya benzeri bir Proxy kullanıyorsanız, sunucu SSL ayarları ile Proxy SSL ayarlarının (Full/Strict) eşleştiğinden emin olun.

  3. Log Takibi: Sorun anında tail -f /var/log/nginx/error.log komutuyla hata loglarını izlemek, yönlendirme döngülerini ve 403/502 hatalarını hızlıca görmenizi sağlar.

Bu adımlar uygulandığında, sunucunuz hem dış dünya ile daha hızlı iletişim kuracak hem de erişilebilirlik sorunları minimuma inecektir.

🤔

Bu cevap yeterince yardımcı oldu mu?

Görüşünüz bizim için değerli!