Tüm rehberler
Yüksek önem derecesiYönlendirme Zinciri

Siten neden bir HTTP→HTTPS yönlendirmesine ihtiyaç duyar

HTTPS mevcut olsa bile, sitenin HTTP isteklerini aktif olarak HTTPS'e yönlendirmesi gerekir. Aksi hâlde HTTP sürümüne ulaşan kullanıcılar, şifrelenmemiş ve ele geçirilebilir bir bağlantıda kalır.

Nedir

Biri https:// olmadan yourdomain.com yazdığında tarayıcı önce HTTP dener. Sunucun 80 numaralı portta yönlendirme yerine içerikle yanıt verirse, o sayfa yüklemesi şifrelenmemiş olur.

Çözüm, her HTTP URL'sinden aynı alan adındaki HTTPS eşdeğerine kalıcı (301) bir yönlendirmedir.

Neden önemli

Şifrelenmemiş trafik, ağ yolundaki herkes tarafından — herkese açık Wi-Fi, ele geçirilmiş bir router, bir ISP — okunabilir veya değiştirilebilir. Buna form verileri ve Secure flag'i olmayan cookie'ler de dâhildir.

Yanlış alan adına işaret eden bir yönlendirme veya birkaç atlamalık bir zincir, gecikme ekler ve kendisi bir yanlış yapılandırma ya da ele geçirme işareti olabilir.

Nasıl düzeltilir

nginx'te yönlendir

80 numaralı portta HTTPS'e tek bir 301 ile yanıt ver.

server {
  listen 80;
  server_name yourdomain.com;
  return 301 https://$host$request_uri;
}
HSTS ile birlikte kullan

Bir yönlendirme ilk atlamayı halleder; HSTS ise tarayıcıya gelecekteki ziyaretlerde HTTP'yi tamamen atlamasını söyler. İkisini birlikte kullan.

Zinciri kısa tut

www/non-www ve sondaki eğik çizgi varyantları arasında sekmek yerine, HTTP'den kanonik HTTPS URL'sine tek bir atlamada doğrudan yönlendir.

SSS

SSL sertifikasına sahip olmak yeterli değil mi?

Hayır. Bir sertifika HTTPS'i etkinleştirir ama yönlendirme olmadan kullanıcılar yine de HTTP sürümünü yükleyebilir. İkisine de ihtiyacın var.

301 mi 302 mi yönlendirme?

301 (kalıcı) kullan. Cache'lenebilir ve tarayıcılara ve arama motorlarına HTTPS'in kanonik sürüm olduğunu bildirir.

Uygulaman etkileniyor mu?

AppSafe, bunu ve onlarca başka sorunu tek bir ücretsiz taramada kontrol eder.

Uygulamamı ücretsiz tara