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
curl -I http://ornek.comkomutunun 301 ve HTTPS adresi döndürdüğünü doğrulayın.- Tek adımda yönlendirin; HTTP > www > HTTPS gibi zincirlerden kaçının.
- Sayfadaki HTTP kaynakları (karışık içerik) HTTPS'e çevirin.
- 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.