SSL Sertifikası

HTTPS Zorlama Yöntemleri

Nginx, Apache ve IIS'te HTTP'den HTTPS'e 301 yönlendirme; CDN arkasında sonsuz döngü sorunu ve X-Forwarded-Proto çözümü.

Sertifikayı kurmak yetmez; ziyaretçilerin her zaman şifreli bağlantıya yönlendirilmesi gerekir. HTTP isteklerini HTTPS'e taşımak için sunucu, uygulama veya CDN düzeyinde yönlendirme kullanılabilir.

Sunucu Düzeyinde Yönlendirme

Nginx:

server {
    listen 80;
    server_name ornek.com www.ornek.com;
    return 301 https://ornek.com$request_uri;
}

Apache (.htaccess):

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

IIS: URL Rewrite modülünde "HTTP'den HTTPS'e yönlendirme" kuralı tanımlayın; koşul olarak {HTTPS} değerinin off olmasını, eylem olarak 301 yönlendirmesini seçin.

Yönlendirme Döngüsü Sorunu

Yük dengeleyici veya CDN arkasında sunucuya gelen istek kendi tarafında HTTP görünür. Bu durumda "HTTPS kapalıysa yönlendir" kuralı sonsuz döngüye yol açar ve tarayıcı ERR_TOO_MANY_REDIRECTS hatası verir. Çözüm olarak X-Forwarded-Proto başlığına bakın:

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

Son Kontroller

  1. curl -I http://ornek.com komutunun 301 ve HTTPS adresi döndürdüğünü doğrulayın.
  2. Tek adımda yönlendirin; HTTP > www > HTTPS gibi zincirlerden kaçının.
  3. Sayfadaki HTTP kaynakları (karışık içerik) HTTPS'e çevirin.
  4. Yönlendirme sağlamlaşınca HSTS başlığını değerlendirin.

Kurulum sonucunu SSL kontrol aracıyla, hataları SSL sorun gidericiyle inceleyebilirsiniz. Yeni sertifika için SSL sertifikaları sayfasına bakın.

Bu makale faydalı oldu mu?

Makale Ara

Güvenlik & En İyi Uygulamalar

Yardıma mı İhtiyacınız Var?

Aradığınızı bulamadıysanız destek ekibimiz size yardımcı olabilir.

Destek Talebi Aç