Bir istek TR7 içinde hangi aşamalardan geçerek backend'e ulaşır?
Kısa cevap
HTTP vService'e gelen bir istek sırasıyla karşılama ve TLS sonlandırma, gerçek istemci IP'sinin çözülmesi (Trusted Proxies), SNI/Host Validation, WAF taraması, L7 DDoS & Threat Protection kararları, listedeki sırayla istek action'ları, WAF engellemesi ve cache, HTTPS yönlendirmeleri, hedef seçimi (AGS, Conditional Backend Services, Default Backend Services) ve algoritma ile persistence'a göre Kurum Servisi seçimi aşamalarından geçer. Kurum Servisinin yanıtı da yanıt action'ları, cache'e yazma ve compression'dan geçerek istemciye döner. L7 TCP'de HTTP'ye özgü aşamalar yoktur; Network vService ise bağlantıyı sonlandırmadan doğrudan dağıtım yapar.
Nasıl Çalışır?
HTTP vService'te istek yolu:
| # | Aşama | Ne olur |
|---|---|---|
| 1 | Karşılama | İstek, vService'in dinlediği IP:port üzerinden alınır. vService Limits profilindeki bağlantı sayısı ve saniyelik bağlantı limitleri (ör. Max. Connections/s) bu aşamada uygulanır. |
| 2 | TLS sonlandırma | HTTPS ise TLS oturumu TR7'de çözülür; Certificate alanındaki sertifikalardan istemcinin SNI'sine uyan sunulur. mTLS açıksa istemci sertifikası burada doğrulanır. |
| 3 | Gerçek istemci IP'si | Önde CDN ya da proxy varsa Trusted Proxies profiliyle istemcinin gerçek IP'si header'dan çözülür. Bu, isteğe uygulanan ilk kuraldır; sonraki bütün aşamalar (WAF, DDoS, IP itibarı, condition'lar, loglar) bu IP'yi görür. |
| 4 | SNI/Host Validation | TLS Security Profile'da açıksa TLS'teki SNI ile isteğin Host header'ı karşılaştırılır; uyuşmazsa istek 421 Misdirected Request ile reddedilir. |
| 5 | WAF taraması | WAF etkinse istek taranır ve karar verilir; engelleme yanıtı 8. aşamada döner. |
| 6 | L7 DDoS & Threat Protection | L7 DDoS & Threat Protection etkinse önce L7 DDoS, sonra IP Reputation, sonra Bot Protection değerlendirilir; bunlardan yalnızca biri isteğe sonuç uygular (engelleme, CAPTCHA, karantina…). Waiting Room da bu aşamada devreye girer. |
| 7 | İstek action'ları | vService'in Actions listesindeki istek action'ları yukarıdan aşağıya çalışır. Block ya da Location redirection gibi isteği sonlandıran bir action çalışırsa istek burada biter. |
| 8 | WAF engellemesi ve cache | WAF'ın zararlı bulduğu istek engelleme yanıtıyla döner. İstek Cache profiliyle önbellekte karşılanabiliyorsa yanıt TR7'de üretilir. |
| 9 | HTTPS yönlendirmeleri | Redirect to HTTPS action'ı ve frontend'deki HTTP → HTTPS protokolü, Actions listesindeki yerlerinden bağımsız olarak diğer istek kurallarından sonra uygulanır. |
| 10 | Hedef seçimi | AGS etkinse oturumu olmayan istemci önce giriş akışına alınır. Diğer isteklerde Conditional Backend Services (Content Switching) kuralları yukarıdan aşağıya değerlendirilir, ilk eşleşen kazanır; hiçbiri eşleşmezse Default Backend Services kullanılır. |
| 11 | Kurum Servisi seçimi | Seçilen hedefte, Algorithm ve persistence ayarına göre sağlıklı bir Kurum Servisi seçilir. Bağlantı, Kurum Servisinin SSL Service, SNAT ve Proxy ayarlarıyla kurulur. |
| 12 | Yanıt yolu | Yanıt; yanıt action'larından, TLS Security Profile'daki HSTS'ten, cache'e yazmadan ve compression'dan geçer, istemciye döner. |
Birkaç ayrıntı sonucu doğrudan etkiler:
- WAF isteği orijinal hâliyle görür. WAF taraması action'lardan önce yapılır; action'ların istekte yaptığı değişiklikler (ör. eklenen header) WAF'ın gördüğü isteği değiştirmez.
- Engelleyen action WAF'tan önce yanıt verir. Bir action isteği engeller ya da yönlendirirse, WAF'ın engelleme sayfası yerine action'ın yanıtı döner.
- Eşleşen koşullu hedef Default'a düşmez. Bir Conditional Backend Services kuralı eşleştiğinde istek o kuralın hedefine gider; o hedefteki bütün Kurum Servisleri down ise istek Default Backend Services'e aktarılmaz, 503 döner. Yedek gerekiyorsa aynı hedefe Backup Service eklenir.
- Health check zincirin dışında çalışır. Health check'ler trafik işleminden bağımsız olarak sürekli çalışır; 11. aşamada yalnızca sağlıklı Kurum Servisleri seçime girer.
vService Tipine Göre Farklar
| Aşama | HTTP | L7 TCP | Network |
|---|---|---|---|
| TLS sonlandırma | ✓ | ✓ (TCP + TLS) | - |
| Trusted Proxies | ✓ | - | - |
| SNI/Host validation, WAF, AGS | ✓ | - | - |
| L7 DDoS & Threat Protection | ✓ | ✓ | - |
| Action'lar | ✓ (istek ve yanıt) | ✓ (TCP action'ları) | - |
| Cache, compression | ✓ | - | - |
| Conditional Backend Services | ✓ | ✓ | - |
| Algoritma ve persistence | ✓ | ✓ | ✓ (L4 Persistence, SIP persistence) |
L7 TCP vService bağlantıyı TR7'de sonlandırır ama isteği HTTP olarak ayrıştırmaz. Bu tipte action'lar, L7 DDoS & Threat Protection kararlarından önce uygulanır. Network vService ise bağlantıyı sonlandırmaz, içeriğe bakmaz; paketi seçilen LB Mode'a ve algoritmaya göre doğrudan bir Kurum Servisine iletir.
Sık Karıştırılan Noktalar
- "Action'la eklediğim header'ı WAF da görür." WAF isteği action'lardan önce, orijinal hâliyle tarar.
- "Redirect to HTTPS action'ını listenin başına koyarsam her şeyden önce çalışır." HTTPS yönlendirmeleri diğer istek kurallarından (action'lar, WAF ve L7 DDoS kararları) sonra uygulanır; bu kurallardan biri isteği sonlandırırsa yönlendirme yapılmaz.
- "Önbellekten dönen yanıt da Kurum Servisine gider." Önbellekte karşılanan istek Kurum Servisine ulaşmaz; yanıt TR7'de üretilir.
- "Hiçbir Conditional Backend Services kuralı eşleşmezse istek reddedilir." Default Backend Services'e gider; o liste de boşsa TR7 503 döner.
Dokümantasyonda nasıl yapılır
