Redirect to HTTPS
Redirect to HTTPS Aksiyonu Nedir?
Redirect to HTTPS aksiyonu, HTTP üzerinden gelen istekleri otomatik olarak HTTPS'e yönlendirir. Bu aksiyon, güvenli olmayan bağlantıları şifreli bağlantılara dönüştürerek veri güvenliğini sağlar.
HTTPS'e yönlendirme işlemi normal şartlarda aksiyon tanımı gerektirmez. vService üzerinde otomatik HTTP → HTTPS yönlendirmesi için ilgili HTTP vService ayarları kullanılabilir.
Bu aksiyon yalnızca istek (request) aşamasında çalışır ve HTTP vService'lerde kullanılabilir.
Location: https://example.com/login
HTTPS Yönlendirmesinin Önemi
Modern web güvenliğinde HTTPS kullanımı zorunluluk haline gelmiştir.
HTTP vs HTTPS:
| Özellik | HTTP | HTTPS |
|---|---|---|
| Şifreleme | Yok | TLS/SSL ile şifreli |
| Veri Gizliliği | Trafikte okunabilir | Şifreli, okunamaz |
| Kimlik Doğrulama | Yok | Sertifika ile |
| SEO | Dezavantajlı | Google tarafından tercih edilir |
| Tarayıcı Uyarısı | "Güvenli değil" | Kilit simgesi |
WARNING
HTTP trafiği şifrelenmediğinden:
- Man-in-the-middle saldırılarına açıktır.
- Oturum çerezleri çalınabilir.
- Form verileri okunabilir.
- DNS spoofing ile içerik değiştirilebilir.
Redirect to HTTPS Aksiyonunun Önemi
HTTPS zorunluluğu için merkezi yönlendirme kritik öneme sahiptir.
Redirect to HTTPS aksiyonu;
- Tüm HTTP trafiğini otomatik olarak HTTPS'e çevirir,
- Uygulamada değişiklik gerektirmez,
- SEO için 301 kalıcı yönlendirme kullanır,
- Koşullarla seçici yönlendirme yapılabilir,
- URL yapısını (path, query) korur.
Bu nedenle Redirect to HTTPS aksiyonu, güvenli web sunumu için temel bir bileşendir.
Kullanılabildiği vService Tipleri
Çalışma Anı
Nasıl Eklenir?
Yeni bir Redirect to HTTPS Aksiyonu, TR7 web yönetim arayüzü üzerinden aşağıdaki adımlar izlenerek eklenebilir:
- Sol altta bulunan TR7 logosuna tıklanarak Configuration Menu açılır.
- Load Balancer → Actions → Add adımları takip edilir.
- Aksiyon için benzersiz ve açıklayıcı bir isim girilir.
- Action Type olarak Redirect to HTTPS seçilir.
- Aksiyona ait ilgili konfigürasyonlar yapılandırılır.
- Conditions sekmesinden aksiyonun hangi koşul/koşullarda devreye gireceği belirlenir.
Addbutonuna tıklanarak aksiyon eklenir.
Redirect to HTTPS Aksiyonu Ekleme Formu
Redirect to HTTPS Aksiyonu Ekleme Formu
INFO
Action Type
Aksiyon tipi olarak Redirect to HTTPS seçilir.
Aksiyon yalnızca istek aşamasında çalıştığından formda Execution Level ve Rule Protocol alanları bulunmaz. Aynı vService'e birden fazla kez eklenebilir.
INFO
Hit Counter Varsayılan: Kapalı
Hit Counter, aksiyonun her çalışmasını sayar (aksiyonun kendi koşuluyla birlikte değerlendirilir; Deny gibi sonlandırıcı aksiyonlarda bile sayım kaybolmaz). Aksiyon bazlı hız ve toplamlar, vService panosundaki Action Hits sekmesinde ve canlı istatistik ekranında görüntülenir; listelerde ayrıca bir kolon olarak görünmez. Sayaç kümülatiftir; elle sıfırlama arayüzü yoktur: sayılan aksiyon kümesi değiştiğinde veya vService yeniden yüklendiğinde sıfırdan başlar, geçmiş ise panoda hız (hit/s) olarak korunur.
INFO
Set Variable on Hit
Aksiyon her çalıştığında değeri atanacak bir değişken adı girilebilir (isteğe bağlı; varsayılan boş). Ad; harf, rakam ve alt çizgiden oluşabilir (en fazla 32 karakter). Aksiyon tetiklendiğinde değişken 1 değerine atanır ve aynı vService'teki diğer koşul ve aksiyonlarda %TR7VAR(ad) akıllı değişkeniyle okunarak zincirleme davranışlar kurulabilir.
INFO
Redirect Scheme Code Varsayılan: 301
İstemciye gönderilecek HTTP yönlendirme durum kodu seçilir.
Seçenekler:
| Kod | İsim | Açıklama | Kullanım Alanı |
|---|---|---|---|
| 301 | Moved Permanently | Kalıcı yönlendirme | HTTPS zorunluluğu için önerilir |
| 302 | Found | Geçici yönlendirme | Geçici HTTPS zorunluluğu |
| 303 | See Other | GET ile yönlendirme | POST sonrası yönlendirme |
| 307 | Temporary Redirect | Geçici (metod korunur) | POST metodunu korumak için |
| 308 | Permanent Redirect | Kalıcı (metod korunur) | POST ile kalıcı HTTPS |
Listedeki bazı kodlar kullanılamaz
Açılır liste 300–308 aralığının tamamını sunar; ancak yönlendirme için yalnızca 301, 302, 303, 307 ve 308 geçerlidir.
300, 304, 305 ve 306 seçilirse üretilen yapılandırma geçersiz olur ve yüklenemez: vService yeniden başlatıldığında ayağa kalkmaz. Bu kodlar seçilmemelidir.
TIP
HTTPS zorunluluğu için 301 kullanılır. Arama motorları 301'i kalıcı kabul eder ve sayfa değerini aktarır.
WARNING
301 ve 302 kodları POST isteklerini GET'e çevirir. POST metodunun korunması için 307 ya da 308 kullanılır.
INFO
Conditions
Bu alanda, ilgili aksiyonun hangi koşul veya koşullar sağlandığında devreye gireceği tanımlanır.
Bir veya birden fazla koşul eklenerek, and/or yapısı ile davranışın hedefli ve kontrollü şekilde uygulanması sağlanabilir.
Koşullar hakkında detaylı bilgi Conditions sayfasında yer alır.
WARNING
Bu alanda herhangi bir koşul tanımlanmazsa, ilgili aksiyon koşulsuz (Always) olarak çalışır. Bu durumda aksiyon, ilgili vService'e gelen tüm trafiğe uygulanır.
Canlı ortamlarda, koşul tanımlanmadan aksiyon kullanılması beklenmeyen durumlara (servis kesintilerine) yol açabilir. Bu nedenle aksiyon oluşturulurken mutlaka en az bir koşul tanımlanması önerilir.
INFO
Form Butonları
Add
Add butonuna tıklanarak aksiyon ekleme işlemi tamamlanır.
Add & Repeat
Add & Repeat butonu ile aksiyon ekleme işlemi tamamlanır ve farklı konfigürasyonlarla ilgili pencereden çıkılmadan yeni bir aksiyon daha eklenebilir.
Aksiyon Eklendi
Yönlendirme Döngüsünden Kaçınma
HTTPS'e yönlendirme aksiyonu, vService konfigürasyonuna bağlı olarak döngü oluşturabilir.
Sorun senaryosu:
HTTP istek → HTTPS'e yönlendir → HTTPS istek → (eğer yanlış koşul) → Tekrar yönlendir → DöngüÖnlemler:
- SSL Termination / Offloading noktasını doğru yapılandırın.
- Koşul eklenir: Koşul listesinde hazır olarak sunulan SSL sonlandırılmamışsa koşulu kullanılır; bu koşul yalnızca şifresiz gelen isteklerde sağlanır.
TIP
Yapılandırma tamamlandıktan sonra tarayıcıda hem HTTP hem HTTPS ile test edilir.
Döngü koruması otomatik değildir
Aksiyon, isteğin zaten şifreli gelip gelmediğini kendiliğinden denetlemez. Koşulsuz tanımlandığında HTTPS üzerinden gelen istekler de yeniden HTTPS'e yönlendirilir ve tarayıcı sonsuz yönlendirme döngüsüne girer.
Bu nedenle aksiyon her zaman SSL sonlandırılmamışsa koşuluyla birlikte tanımlanmalıdır.
vService'in dinleme adresinde SSL seçeneği olarak Redirect seçilmişse yönlendirme zaten korumalı biçimde yapılır; bu durumda aksiyona gerek yoktur, ikisi birlikte kullanılırsa iki ayrı yönlendirme tanımı oluşur.
Operasyonel ve Güvenli Kullanım Önerileri
- 301 kalıcı yönlendirme kullanılır. SEO değerinin korunması ve tarayıcıların yönlendirmeyi önbelleğe alması için 301 seçilir.
- HSTS ile birlikte kullanılır. Aksiyon, HTTP Strict Transport Security (HSTS) başlığıyla birlikte uygulanır; bu, tarayıcının sonraki istekleri doğrudan HTTPS'e göndermesini sağlar.
- Tüm subdomain'ler kapsanır.
www.example.comveexample.comdâhil tüm subdomain'lerin HTTPS'e yönlendirildiği doğrulanır. - API isteklerinde dikkatli olunur. API istemcileri yönlendirmeyi otomatik takip etmeyebilir; API için 301 yerine 307/308 ya da doğrudan HTTPS kullanımı tercih edilir.
- Mixed Content Sorunlarını Kontrol Edin. HTTPS sayfalarında HTTP kaynakları (resim, script) varsa tarayıcı uyarı verir. Tüm kaynakları HTTPS'e güncelleyin.
Canlı Ortamlarda Yaygın Kullanım Senaryoları
Aşağıdaki örnekler, ilgili aksiyonun gerçek sistemlerde en sık karşılaşılan kullanım senaryolarında nasıl uygulandığını göstermektedir. Bu senaryolar, canlı ortamlarda yaygın olarak tercih edilen ve sahada edinilmiş deneyimlere dayanan pratikleri temel alır.
Senaryo 1: Login ve Hassas Sayfalar için HTTPS Zorunluluğu
Problem: Web sitesinin login sayfası (/login.php) ve kullanıcı profil sayfaları HTTP üzerinden erişilebiliyor. Kullanıcı şifreleri ve oturum bilgileri şifrelenmemiş ağ üzerinden gönderiliyor, man-in-the-middle saldırı riski var.
Çözüm: Login ve hassas sayfalar HTTPS'e zorunlu olarak yönlendirilir ve veri güvenliği sağlanır.
Konfigürasyon:
- Redirect Scheme Code: 301 Moved Permanently
- Conditions:
- Path
/login.phpiçerir ANDSSL sonlandırılmamışsa
- Path
Sonuç:
- ✅ Güvenli iletişim → Login formları ve hassas veriler HTTPS üzerinden şifreli olarak gönderilir.
- ✅ SEO değeri → 301 kalıcı yönlendirme, arama motoru değerini korur.
- ✅ Oturum güvenliği → Session cookie'ler şifreli bağlantı üzerinden iletilir.
- ✅ Kullanıcı güveni → Tarayıcı kilit simgesi gösterir, kullanıcı güven duyar.
Örnek yönlendirme:
- İstek:
http://example.com/login.php - Yönlendirme:
https://example.com/login.php(301)
WARNING
Bu konfigürasyonun sağlıklı çalışabilmesi için vService'de:
- Port 80: None
- Port 443: Terminate / HTTP/2.0
olmalıdır. Aksi durumda sonsuz yönlendirme döngüsü oluşabilir.
