HTTP (L7) vService
HTTP (L7) vService Nedir?
HTTP (L7) vService, TR7 üzerinde Layer 7 (Uygulama Katmanı) seviyesinde HTTP ve HTTPS trafiği için yük dengeleme sağlayan temel servis tipidir. Web uygulamaları, API servisleri, mikroservis mimarileri ve içerik dağıtım senaryoları için tasarlanmıştır.
HTTP vService, istemcilerden gelen HTTP/HTTPS isteklerini alır, yapılandırılmış kurallara göre işler ve uygun Kurum Servislerine yönlendirir. Bu süreçte SSL sonlandırma, içerik tabanlı yönlendirme, önbellekleme, sıkıştırma ve güvenlik kontrolleri gibi gelişmiş işlemler gerçekleştirilir.
TR7 mimarisinde HTTP vService, en zengin özellik setine sahip vService tipidir. Diğer tiplere (L7 TCP, Network) kıyasla HTTP protokolüne özgü tüm optimizasyon ve güvenlik özelliklerini destekler.
HTTP vService ile neler yapılır?
- HTTP/1.1, HTTP/2 ve HTTP/3 (QUIC) protokollerinde yük dengeleme,
- SSL/TLS sonlandırma ile Kurum Servisi yükünün azaltılması,
- WAF entegrasyonu ile web uygulama güvenliği,
- İçerik tabanlı yönlendirme (content switching) ile akıllı trafik dağıtımı,
- Önbellekleme ve sıkıştırma ile performans optimizasyonu,
- Oturum kalıcılığı (persistence) ile kullanıcı deneyiminin iyileştirilmesi.
Neden HTTP vService?
Modern web mimarilerinde yük dengeleyici, yalnızca trafiği dağıtan bir bileşen değil; güvenlik, performans ve kullanılabilirlik açısından kritik bir kontrol noktasıdır. HTTP vService, bu kontrol noktasında sunulan tüm yetenekleri tek bir yapılandırma altında birleştirir.
Yüksek Erişilebilirlik
Tek bir sunucu arızasının tüm hizmeti etkilemesi kabul edilemez. HTTP vService, trafiği birden fazla Kurum Servisi arasında dağıtarak tek nokta arızasını (SPOF) ortadan kaldırır. Sağlık denetimleri ile arızalı sunucular otomatik olarak devre dışı bırakılır; sunucu yeniden sağlıklı hâle geldiğinde otomatik olarak yeniden trafiğe alınır. Oturum sürekliliği yöntemleri sayesinde aktif kullanıcı oturumları, trafik dağıtımı sırasında bozulmadan korunur.
Performans Optimizasyonu
HTTP vService; önbellekleme ile tekrarlayan isteklerin Kurum Servislerine ulaşmasını engeller, sıkıştırma (GZIP/Deflate) ile bant genişliği kullanımını azaltır, Keep-Alive ile bağlantı yeniden kullanımını artırır ve yük dengeleme algoritmalarıyla yükü optimal şekilde dağıtır. QOS ayarlarıyla her vService'e ayrılan CPU ve bellek kaynakları denetlenebilir.
Güvenlik
Web uygulamaları sürekli saldırı altındadır. HTTP vService; WAF ile SQL injection, XSS ve OWASP Top 10 tehditlerini engeller, L7 DDoS & Threat Protection ile uygulama katmanı saldırılarına karşı savunma sağlar, IP İtibar ve IP kara/beyaz listeleriyle bilinen kötücül kaynakları filtreler. SSL/TLS sonlandırma ile şifreleme yönetimi merkezileştirilir; AGS ile uygulama önünde kimlik doğrulama katmanı eklenir.
Ölçeklenebilirlik ve Operasyonel Verimlilik
Yeni Kurum Servisleri eklendiğinde trafik otomatik olarak dağıtılır. Merkezi yapılandırma, izleme ve raporlama ile çok sayıda sunucunun yönetimi tek noktadan yapılır. Bildirimler ve log yönlendirme ile operasyonel görünürlük sağlanır.
İçerik Farkındalığı ve Esneklik
Layer 7 farkındalığı sayesinde HTTP vService, trafiği yalnızca IP ve port düzeyinde değil; Host başlığı, URL, HTTP başlıkları ve içerik öznitelikleri düzeyinde değerlendirir. İçerik Anahtarlama (Content Switching) ile farklı yollar veya domainler farklı Kurum Servislerine yönlendirilir; Virtual Hosting ile aynı IP:port üzerinde çok sayıda ayrı vService çalıştırılır; Actions ile istek ve yanıtlar üzerinde başlık ekleme, değiştirme ve yönlendirme işlemleri uygulanır.
Desteklenen Özellikler
HTTP vService, TR7'nin sunduğu en kapsamlı özellik setine sahiptir.
| Kategori | Özellikler |
|---|---|
| Protokol | HTTP (şifresiz), HTTPS (HTTP/1.1, HTTP/2), HTTP/3 (QUIC), HTTP → HTTPS yönlendirme; WebSocket tünel bağlantıları için ayrı zaman aşımı |
| SSL/TLS | SSL/TLS sonlandırma, SNI, ALPN, SSLv3–TLSv1.3 sürüm aralığı, çoklu sertifika, TLS Güvenlik Profilleri |
| Güvenlik | WAF, L7 DDoS & Threat Protection, IP İtibar (IP Reputation), IP kara/beyaz liste, Rate Limiting |
| Kimlik Doğrulama | AGS - AAM (Application Access Management) ile uygulama önünde kimlik denetimi |
| Performans | Önbellekleme (Cache), Sıkıştırma (GZIP/Deflate), Keep-Alive, QOS kaynak izolasyonu, Bandwidth denetimi |
| Yönlendirme | İçerik Anahtarlama (Content Switching), Virtual Hosting, Koşullu / Varsayılan Kurum Servisi, HTTP → HTTPS Redirect |
| Trafik Manipülasyonu | Actions (başlık ekleme / silme / değiştirme, redirect, rewrite), X-Forwarded-For |
| Oturum Sürekliliği | None, New cookie, Current cookie, Hash, Session Affinity Manager (SAM) |
| Algoritmalar | Round robin (varsayılan), Weighted Round Robin, Least Connection, Least Response Time¹, Least Bandwidth¹, First, Random, Fastest, Fastest+, Source, URI, URL Param, HDR |
| İzleme & Raporlama | Access Log, Debug mode, Raporlar, Bildirimler (SNMP / e-posta / SMS / arayüz) |
| Entegrasyon | SIEM / Syslog (CEF / JSON log profilleri), IPFIX gönderimi (Actions) |
¹ Least Response Time ve Least Bandwidth, seçili Core Engine sürümü desteklemediğinde Least Connection olarak uygulanır.
Virtual Hosting
Normal şartlarda bir IP adresi ve port ikilisi tek bir vService tarafından kullanılır. Virtual Hosting, aynı IP:port üzerinde istenildiği kadar ayrı vService oluşturulmasını sağlayan, HTTP tipine özgü bir özelliktir. Böylece kısıtlı sayıda IP adresiyle çok sayıda domain veya uygulama, her biri kendi bağımsız vService yapılandırmasına sahip olacak şekilde sunulabilir. IPv4 adres kıtlığının yaşandığı ortamlarda özellikle değerlidir.
Her vService, hizmet vereceği domain(ler)i kendi Virtual Hosting listesinde tanımlar. Aynı IP:port'a gelen trafik ortak bir ön dağıtıcı tarafından karşılanır ve isteğin Host başlığına (HTTPS'te SNI) göre ilgili vService'e yönlendirilir. Her vService; kendi sertifikası, güvenlik profilleri, yük dengeleme algoritması ve Kurum Servisleriyle bağımsız olarak çalışır.
Nasıl çalışır?
HTTP protokolünde her istek bir Host başlığı taşır; bu başlık istemcinin hangi domaine erişmek istediğini belirtir. TR7, aynı IP:port üzerindeki vService'ler arasında bu başlığa göre eşleştirme yaparak isteği ilgili vService'e iletir.
HTTPS trafiğinde ise SNI (Server Name Indication) kullanılır. SNI, TLS el sıkışması sırasında hedef domain adını ilettiğinden, doğru vService ve ona ait SSL sertifikası seçilebilir.
TIP
Virtual Hosting alanındaki anahtar Enabled konumuna getirildiğinde ilk domain satırı açılır; anahtar Disabled konumuna alındığında liste boşaltılır. Özellik, listede en az bir domain bulunduğu sürece etkindir. Domain tanımlarında joker karakter (*) kullanımı desteklenir; joker karakterli bir tanım (*.example.com) birden fazla alt alan seviyesiyle de eşleşir (a.b.example.com). Virtual Hosting yalnızca HTTP tipinde geçerlidir; listede domain varken HTTP/3 (QUIC) rozetli protokoller kullanılamaz.
Paylaşım ve eşleşme kuralları
- Bir IP:port'u paylaşan vService'lerin tamamında Virtual Hosting listesi dolu olmalı ve frontend'ler aynı şifreleme sınıfında bulunmalıdır (şifreli: HTTP/1.1, HTTP/2; şifresiz: HTTP, HTTP → HTTPS). Listesi boş bir vService aynı IP:port'a tanımlanamaz.
- Şifresiz frontend'lerde eşleştirme
Hostbaşlığının tam değeriyle yapılır; 80 dışındaki portlarda istemcinin gönderdiğiHostdeğeri port numarasını da içerir. - Hiçbir vService'in listesiyle eşleşmeyen HTTP isteklerine 503 yanıtı döner; HTTPS'te SNI eşleşmediğinde veya istemci SNI göndermediğinde bağlantı kapatılır.
Kullanım Senaryoları:
- Çoklu Web Sitesi: Aynı IP:port üzerinde
www.example.com,blog.example.com,destek.example.comiçin ayrı vService'ler. - Mikroservis Mimarisi:
api.example.com,auth.example.com,cdn.example.comservislerini tek adres üzerinden, bağımsız vService'lerle yönetme. - Çok Kiracılı (Multi-tenant) Yapılar: SaaS uygulamalarında müşteri bazlı domainlerin ayrı vService'lerle yönetimi.
- Geliştirme/Test Ortamları:
dev.example.com,staging.example.com,prod.example.comayrımı.
Ekleme formundaki Virtual Hosting alanı ve adım adım örnek HTTP vService Ekleme Formu bölümünde yer alır.
Desteklenen Protokoller
HTTP vService, Layer 7 seviyesinde çalışır. Frontend Protocol seçicisinde sunulan seçenekler:
- HTTP: şifresiz HTTP
- HTTP/1.1 ve HTTP/2: TLS sonlandırma ile (SNI, ALPN); izin verilen TLS sürüm aralığı SSL Security profilinde belirlenir
- HTTP/3 (QUIC): HTTP/1.1 veya HTTP/2'ye ek olarak aynı adreste sunulur (HTTP/3 rozetli seçenekler); seçili Core Engine sürümünün QUIC desteğine bağlıdır
- HTTP → HTTPS: şifresiz istekleri HTTPS'e yönlendirme
WebSocket gibi uzun süreli tünel bağlantıları için Timeout profilinde ayrı bir Tunnel(Websocket) timeout değeri bulunur.
vService'e Keep Header Names aksiyonu bağlandığında HTTP/2 ve HTTP/3 devre dışı kalır; frontend HTTP/1.1 ile çalışır.
En İyi Uygulamalar
- SSL/TLS zorunlu kılın. Tüm HTTP trafiği HTTPS'e yönlendirilmelidir; 80 portunda Protocol olarak HTTP → HTTPS seçeneği kullanılır. TLS 1.2 ve üzeri sürümler, uygun bir TLS Güvenlik Profili ile zorunlu kılınır.
- WAF'ı aktif edin. SQL injection, XSS ve diğer OWASP Top 10 tehditlerine karşı koruma sağlar. False positive oranı izlenerek kurallar optimize edilir.
- L7 DDoS & Threat Protection'ı yapılandırın. İstek ve bağlantı oranı limitleri, bot koruması ve IP itibar denetimi ile uygulama katmanı saldırıları azaltılır; aşım durumunda uygulanacak aksiyon (engelle, yönlendir, CAPTCHA vb.) belirlenir.
- Sıkıştırmayı etkinleştirin. Metin tabanlı içerikler (HTML, CSS, JavaScript, JSON) için sıkıştırma (GZIP/Deflate), bant genişliği tasarrufu ve hız iyileştirmesi sağlar.
- Önbelleklemeyi kullanın. Statik içerikler ve sık erişilen API yanıtları için önbellekleme, Kurum Servisi yükünü azaltır.
- Sağlık denetimlerini yapılandırın. Kurum Servisleri için uygun sağlık denetimi profilleri tanımlanır; arızalı sunucuların hızlı tespiti için kontrol aralığı optimize edilir.
- X-Forwarded-For aktif edin. Kurum Servislerinin gerçek istemci IP adresini görebilmesi için XFF başlığı eklenir. Log analizi ve güvenlik için kritiktir.
- Timeout ve vService limitlerini uygulamaya göre ayarlayın. Zaman aşımı ve bağlantı/oturum limitleri uygulama karakteristiğine göre yapılandırılır; gereksiz kaynak tutmaktan ve bağlantı taşmalarından kaçınılır.
- Oturum sürekliliğini doğru seçin. Stateful uygulamalar için uygun persistence yöntemi seçilir; oturumların çalışma anında izlenmesi veya yeniden dengelenmesi gerekiyorsa SAM tercih edilir. Stateless uygulamalarda persistence kullanılmaz; yük dağılımını bozar.
- Kritik vService'leri QOS ile izole edin. Yüksek öncelikli servislere QOS ile ayrı CPU ve bellek kaynakları ayrılarak yük altında dahi kararlı performans sağlanır.
Nasıl Eklenir?
Yeni bir HTTP vService, TR7 web yönetim arayüzü üzerinden aşağıdaki adımlarla eklenir:
- Sol altta bulunan TR7 logosuna tıklanarak Configuration Menu açılır.
- Load Balancer → Load Balancer vService List → Add adımları takip edilir.
- Type alanında varsayılan olarak gelen HTTP seçimi korunur; vService HTTP/HTTPS protokolü için yapılandırılır.
- vService için benzersiz bir ad, çalışacağı vDevice ve dinleyeceği Frontend IP/Port/Protocol bilgisi girilir.
- Trafiğin yönlendirileceği Kurum Servisleri Default Backend Services veya Conditional Backend Services alanından seçilir.
- Gerekiyorsa
Detailspanelinden gelişmiş ayarlar (WAF, önbellek, sıkıştırma, QOS vb.) yapılandırılır. Savebutonuna tıklanarak vService eklenir.
TIP
Hızlı arama ile sayfaya ulaşma
Menüde adım adım gezmek yerine, ekranın sol alt köşesindeki arama çubuğu kullanılarak ilgili sayfaya doğrudan ulaşılır. Arama çubuğu Windows'ta Alt + T, macOS'ta Opt + T kısayolu ile açılır; ardından aranan özelliğin adının yazılması yeterlidir.
vService listeleme ekranı ve genel vService yönetimi vService sayfasında yer alır; bu sayfada HTTP tipindeki bir vService'in ekleme formu ve Details paneli ele alınır.
HTTP vService Ekleme Formu
Load Balancer → Load Balancer vService List → Add adımları takip edilerek TR7 cihazı üzerine yeni bir vService eklenir. Type alanından HTTP seçildiğinde aşağıdaki form görüntülenir.
HTTP vService Ekleme Formu
INFO
Status
vService'in oluşturulduktan sonraki başlangıç durumunu belirler.
| Seçenek | Açıklama |
|---|---|
| Enabled | vService aktif olarak başlar. Konfigürasyon uygulandığında hemen trafik almaya başlar. Üretim ortamları için standart seçimdir. |
| Disabled | vService oluşturulur ancak devre dışı kalır. Trafik almaz. Yapılandırma tamamlanmadan önce veya bakım süreçlerinde kullanılır. Manuel olarak Enable edilmesi gerekir. |
| Debug mode | vService aktif olarak başlar ve tüm istekler için detaylı debug logları oluşturur. Her istek için request/response başlıkları, timing bilgileri ve işlem detayları kaydedilir. Yalnızca HTTP tipinde sunulur; Details › Debug kutusuyla aynı anahtardır. |
Devre dışı bırakma ve Frontend IP
TR7'de IP adresleri, vService'ten bağımsız yaşayan cihaz seviyesindeki ağ kaynaklarıdır; vService bu adresi yalnızca dinleme noktası olarak kullanır (bkz. Profil Bazlı IP Modeli). Bu nedenle vService Disabled yapıldığında, üzerinde tanımlı Frontend IP adresleri (Interface IP / VIP) otomatik olarak devre dışı kalmaz; arayüze bağlı olarak ağ katmanında yanıt vermeye devam eder.
Frontend IP adresinin de kapatılması gerekiyorsa, ilgili IP Interfaces List ekranından Disable (geçici) veya Delete IP (kalıcı) işlemiyle yönetilir.
Debug mode hakkında
Debug mode yüksek miktarda log üretir ve disk I/O ile CPU kullanımını artırır. Üretim ortamında uzun süreli kullanımı önerilmez; sorun giderme tamamlandığında kapatılmalıdır. Details panelindeki Debug kutusu ayrı bir özellik değil, aynı anahtardır: kutu işaretlendiğinde Status Debug mode'a geçer, Status'ta Debug mode seçildiğinde kutu işaretlenir. Details'in ek imkânı, debug'ı bir koşulla sınırlandırabilmektir.
INFO
Type Zorunlu
vService tipi olarak HTTP seçilir. Type, formun belirleyici (discriminator) alanıdır: seçilen tip, formun devamında ve Details panelinde hangi alanların/modüllerin görüneceğini belirler. HTTP, TR7'nin en zengin özellik setine sahip tipidir.
| Tip | Katman | Açıklama | Kullanım Alanı |
|---|---|---|---|
| HTTP | Uygulama (L7) | Tam HTTP farkındalığı; HTTP/1.1, HTTP/2, HTTP/3 (QUIC); SSL sonlandırma ve içerik tabanlı yönlendirme. | Web siteleri, API'ler, web uygulamaları |
| L7 TCP | Uygulama (L7) | HTTP olmayan TCP protokolleri için L7 işleme; SSL sonlandırma (TCP + TLS) desteği. | RDP, SQL, LDAP, SMTP, MQTT, özel TCP protokolleri |
| Network | Ağ (L3/L4) | Yüksek başarımlı paket düzeyi dağıtım; TCP / UDP / ANY protokol, DSR / Route (NAT) / SNAT modları. | DNS, UDP servisleri, ham TCP/IP |
HTTP tipine özgü ve ortak alanlar
Yalnızca HTTP tipinde bulunan alanlar (L7 TCP ve Network tiplerinde görünmez):
- Ana form: Virtual hosting · HTTP/3 (QUIC) rozetli protokoller
- Details: Debug · WAF · L7 DDoS & Threat Protection · AGS · Trusted proxy · Cache · Compression · X-Forwarded-For
HTTP ve L7 TCP'nin ikisinde de bulunan Details alanları (sırasıyla): L7 DDoS & Threat Protection · Actions · LOG · SSL security · Notification · Report · QOS · Bandwidth · vService limits · Timeout · LB algorithm. Ayrıca TLS sonlandırma, sertifika, SSL güvenlik profili ve koşullu / varsayılan Kurum Servisi yönlendirmesi de her iki L7 tipinde geçerlidir.
Network (L4) tipinde yalnızca paket düzeyi dağıtım ve L4'e özgü alanlar bulunur.
WARNING
Type, oluşturmanın en belirleyici kararıdır: mevcut bir vService düzenlenirken Type ve vDevice alanları kilitlidir, değiştirilemez. Yeni kayıtta tip değiştirildiğinde Frontend listesi, modüller ve aksiyonlar sıfırlanır. Doğru tip baştan belirlenmelidir: web/HTTPS trafiğinin tamamı HTTP tipindedir.
Diğer vService tipleri ve tam karşılaştırma için: vService · L7 TCP · Network
INFO
Virtual Hosting
Normalde bir IP:port kombinasyonu yalnızca tek bir vService tarafından kullanılabilir. Virtual Hosting, aynı IP:port üzerinde istenildiği kadar vService oluşturulmasını sağlar: her vService karşılayacağı domain(leri) kendi Virtual Hosting listesinde tanımlar, TR7 de gelen trafiği Host başlığına (HTTP) veya SNI'ye (HTTPS) göre doğru vService'e yönlendirir. Yalnızca HTTP tipinde kullanılabilir.
Virtual Hosting ile:
- Aynı IP:port birden fazla vService arasında paylaşılır,
- Her vService kendi domain(ler)ini karşılar ve SNI ile kendi SSL sertifikasını sunar,
- Trafik
Host/ SNI değerine göre ilgili vService'e yönlendirilir, - Wildcard domain (
*.example.com) desteklenir.
Alandaki anahtar Enabled konumuna getirildiğinde ilk domain satırı açılır, Disabled konumuna alındığında liste boşaltılır; listede en az bir domain bulunması, o vService'i paylaşımlı IP:port'a katılmaya uygun hâle getirir. Listeye eklenen her satır geçerli bir alan adı (domain) olmalı ve liste içinde benzersiz olmalıdır.
Yapılandırma adımları:
- Aynı IP:port'u paylaşacak her vService için, o vService'in karşılayacağı domain(ler) Virtual Hosting listesine eklenir (≥ 1 domain).
- Her vService kendi hedeflerine (Default Backend Services / Conditional Backend Services) yönlendirilir.
- HTTPS için her vService kendi sertifikasını Certificate alanından seçer; sertifika SNI ile sunulur.
Örnek senaryo: tek IP:port üzerinde çoklu vService
Tek bir 192.168.1.100:443 adresini paylaşan, her biri kendi domainini karşılayan ayrı vService'ler:
| vService / Domain | Hedef |
|---|---|
www.example.com | Web Kurum Servisi |
api.example.com | API Kurum Servisi |
cdn.example.com | Statik içerik sunucuları |
admin.example.com | Yönetim paneli sunucusu |
Gelen istek, Host/SNI değerine göre ilgili domaini karşılayan vService'e yönlendirilir.
Sertifika yönetimi
Her vService için ayrı sertifika veya *.example.com gibi wildcard sertifika tanımlanabilir. SNI desteği sayesinde TR7, istemcinin talep ettiği domaine ait doğru sertifikayı otomatik seçer.
HTTP/3 (QUIC) ile birlikte kullanılamaz
Virtual hosting listesinde en az bir domain varken Protocol seçicisinde HTTP/3 rozetli seçenekler sunulmaz; daha önce seçilmiş bir QUIC seçeneği, ilk domain eklendiğinde otomatik olarak kaldırılır. Bu iki özellik aynı frontend'de birlikte kullanılamaz.
INFO
Frontend (Frontend IP · Port · Protocol)
vService'in dinleyeceği IP adresi, port numarası ve protokol (SSL/TLS) davranışı tanımlanır.
Modern uygulama yayınlama modeli
TR7 ASP üzerinde birden fazla Frontend IP adresi ve port, tek bir vService içerisinde birlikte tanımlanabilir.
Bu mimari sayesinde HTTP (80) ve HTTPS (443) trafiği için ayrı vService tanımlama zorunluluğu ortadan kalkar. Port bazlı yönlendirme, SSL davranışı ve redirect işlemleri tek bir vService üzerinden, ek kural yazımına gerek kalmadan yönetilir.
Frontend IP/Port/Protocol Yapılandırması
(+) ikonu ile yeni frontend adresi eklenir. Her satır bağımsız bir dinleme noktası oluşturur. Form, listesi boş bırakılmış bir vService'i kaydetmeyi engellemez; ancak eklenmiş bir satırda IP seçilmemişse kayıt engellenir.
Frontend IP
vService'de dinlenecek IP adresi seçilir. Seçilen Frontend IP, istemcilerden gelen trafiğin TR7 üzerinde karşılandığı uç noktayı temsil eder. vService bu IP üzerinden tanımlı port ve protokole göre trafiği kabul eder ve kurallarına göre işler; son nokta olarak istemci trafiği Kurum Servisine veya Gruba iletilir.
| IP Tipi | Açıklama |
|---|---|
| Interface IP | Fiziksel veya sanal arayüze atanmış IP; listede Interface IP (arayüz) adres biçiminde görünür. |
| VIP (Virtual IP) | Yüksek erişilebilirlik için kullanılır; cluster kurulumlarında tanımlanır ve listede VIP (arayüz) adres biçiminde görünür. Ayrıntı Add IP Address (Cluster) sayfasında yer alır. |
Port
Dinlenecek TCP port numarası girilir; istemcilerin TR7'ye bağlantı kuracağı servis portunu ifade eder. Tek bir port ya da port aralığı girilebilir.
| Port | Yaygın protokol | Kullanım |
|---|---|---|
| 80 | HTTP | Standart web trafiği |
| 443 | HTTPS | Şifreli web trafiği |
| 8080 | HTTP | Alternatif/proxy port |
| 8443 | HTTPS | Alternatif şifreli port |
Protocol
Frontend'in protokol ve SSL/TLS davranışını belirler: istemci bağlantısının şifresiz (HTTP) mi yoksa şifreli (HTTPS) mi kabul edileceğini ve TLS oturumunun TR7 üzerinde nasıl sonlandırılacağını tanımlar. Şifreli seçeneklerde TLS oturumu TR7 üzerinde sonlandırılır (SSL Termination / Offloading); şifre çözme TR7'de yapılır ve Kurum Servislerine trafik, yapılandırmaya bağlı olarak şifreli veya şifresiz iletilir.
Seçenekler üç grup altında sunulur:
| Grup | Seçenek | Açıklama |
|---|---|---|
| Unencrypted | HTTP | SSL yok; trafik şifresiz karşılanır (düz HTTP). Dahili ağlar veya SSL'in başka katmanda sonlandırıldığı senaryolar için. |
| Encrypted (HTTPS) | HTTP/1.1 | HTTP/1.1 üzerinden TLS sonlandırma. |
| HTTP/1.1 + HTTP/3 rozeti | HTTP/1.1'e ek olarak aynı adreste HTTP/3 (QUIC) de sunulur. | |
| HTTP/2 | HTTP/2 üzerinden TLS sonlandırma; ALPN ile protokol anlaşması yapılır. | |
| HTTP/2 + HTTP/3 rozeti | HTTP/2'ye ek olarak aynı adreste HTTP/3 (QUIC) de sunulur. | |
| Redirect | HTTP → HTTPS | Şifresiz gelen istekleri otomatik olarak HTTPS'e yönlendirir (301 redirect). |
HTTP/3 rozeti (QUIC) nedir?
HTTP/3 rozetli seçenekler, TCP üzerindeki HTTP/1.1 veya HTTP/2'ye ek olarak aynı adreste HTTP/3'ü (QUIC, UDP tabanlı) de sunar; istemci destekliyorsa QUIC'e geçer, desteklemiyorsa TCP bağlantısında kalır. QUIC'in çalışması için ilgili UDP portunun erişilebilir olması gerekir. Virtual hosting listesinde domain varken HTTP/3 rozetli seçenekler sunulmaz (ayrıntı yukarıdaki uyarıda).
Sertifika gereksinimi
Encrypted (HTTPS) grubundaki seçeneklerden biri (HTTP/1.1, HTTP/2 ve bunların HTTP/3 rozetli varyantları) seçildiğinde Certificate alanı görünür; TLS sonlandırma için en az bir SSL sertifikası seçilmelidir. Form bu alanı zorunlu olarak işaretlemez, sertifikasız kayıt engellenmez.
Tipik yapılandırma: 80 → 443 yönlendirme + HTTP/2
Standart bir web sitesi için tek vService içinde iki frontend satırı tanımlanır:
| Frontend IP | Port | Protocol |
|---|---|---|
| VIP 192.168.1.100 | 80 | HTTP → HTTPS |
| VIP 192.168.1.100 | 443 | HTTP/2 |
80 portuna gelen tüm istekler 443'e yönlendirilir; 443'te HTTP/2 ile TLS, TR7 üzerinde sonlandırılır (SSL Termination / Offloading).
INFO
Certificate
Encrypted (HTTPS) protokol seçilen frontend'lerde (HTTP/1.1, HTTP/2 veya HTTP/3 rozetli varyantları), TLS sonlandırma için kullanılacak SSL sertifikaları seçilir. Sertifikalar çoklu seçimle eklenir: birden fazla sertifika aynı vService'te tanımlanabilir.
- Birden fazla sertifika seçilebilir; her biri farklı bir domaine ait olabilir (SNI).
- Wildcard sertifikalar (
*.example.com) desteklenir.
Seçilen sertifikalar, istemcinin SNI ile belirttiği domaine göre otomatik eşleştirilir. Böylece tek bir HTTPS frontend'de birden fazla domain, kendi sertifikasıyla sunulabilir.
Sertifika oluşturma ve yönetimi SSL/TLS Certificates sayfasında yer alır. İzin verilen TLS sürümleri, şifre paketleri gibi güvenlik parametreleri ise SSL Security profili ile belirlenir (bkz. TLS Security Profiles).
INFO
Conditional Backend Services
Belirli koşullara göre gelen trafiği farklı Kurum Servislerine yönlendirmeyi sağlar; sektörde Content Switching (içerik tabanlı yönlendirme) olarak bilinir. İsteğin yolu (path), başlıkları, çerezleri veya istemci IP'si gibi kriterlere göre her istek, uygun hedefe iletilir.
Tek ekranda içerik yönlendirme: Geleneksel ADC / yük dengeleyicilerde içerik tabanlı yönlendirme için çoğu zaman her hedef adına ayrı bir içerik-değiştirme sanal sunucusu oluşturmak ve bunlara ayrı politika/kural bağlamaları yapmak gerekir. TR7'de tüm koşullu yönlendirme kuralları tek bir vService ekranında tanımlanır; ek sanal sunucu veya ayrı politika nesnesi oluşturmaya gerek kalmaz.
Yeni Conditional backend services Ekleme
Bu alan, ilk kural eklenene kadar formda görünmez: Default Backend Services tablosundaki + Conditional backend services butonuyla ilk kural oluşturulduğunda alan formda belirir; sonraki kurallar aynı butonla eklenir. Her kural iki bileşenden oluşur:
- Condition (Koşul): Hangi isteklerin bu kurala uyacağını belirleyen kriter(ler). Birden fazla kriter
AND/ORile birleştirilebilir. - Backend Services: Koşul sağlandığında trafiğin yönlendirileceği hedef(ler). Birden fazla Kurum Servisi ve/veya Kurum Servisi Grubu birlikte seçilebilir.
Koşullu Yönlendirme Sıralaması
Değerlendirme sırası
Koşullu yönlendirmeler yukarıdan aşağıya sırayla değerlendirilir: ilk eşleşen koşul uygulanır ve değerlendirme durur. Sıra, sürükle-bırak ile değiştirilir. Hiçbir kural eşleşmezse trafik Default Backend Services'e düşer.
Çoklu koşul: AND / OR mantığı
Konfigürasyon Örneği
Bir koşul bloğu; HTTP isteğinin içeriği, istemci ağ bilgisi ve başlık değerleri gibi birden fazla kriteri birlikte değerlendirebilir. Kriterler AND ve OR operatörleriyle çok seviyeli karar ağaçları hâline getirilir.
AND: Blok içindeki tüm koşulların aynı anda sağlanması gerekir. Örnek: Path/apiile başlıyor ve istemci IP'si10.10.10.0/24bloğunda ise. İç ağdan gelen API çağrılarını ayrıştırmak veya güvenilir subnet'lere özel servis tanımlamak gibi daraltılmış senaryolarda kullanılır.OR: Bağlı koşullardan herhangi biri sağlanırsa blok eşleşir. Örnek: HTTPHostbaşlığıinternalapi.example.comise. Farklı erişim yollarını tek bir hedef altında toplamak için kullanılır.
Örnekteki gibi: birinci AND bloğu veya ikinci blok sağlanırsa istemci ilgili Kurum Servisine, hiçbiri sağlanmazsa Default Backend Services'e yönlendirilir.
Yaygın kullanım senaryoları:
| Senaryo | Koşul | Hedef |
|---|---|---|
| API yönlendirme | Path /api/* ile başlıyor | API sunucuları |
| Mobil trafik | User-Agent Mobile içeriyor | Mobil optimize sunucular |
| Admin paneli | Path /admin/* ile başlıyor | Yönetim sunucuları |
| Statik içerik | Path .css, .js, .png ile bitiyor | CDN/Statik sunucular |
| Beta kullanıcılar | Cookie beta=true içeriyor | Beta sunucuları |
| Coğrafi yönlendirme | Kaynak IP belirli ülkede | Bölgesel sunucular |
Tüm koşul tipleri Conditions sayfasında anlatılır.
INFO
Default Backend Services
vService'in birincil hedefidir: Conditional backend services kullanılmadığında tüm trafik, koşullu yönlendirme kullanıldığında ise hiçbir kural eşleşmeyen trafik buraya yönlendirilir. Böylece tanımlı koşulların dışında kalan istekler için güvenli ve kontrollü bir Fallback (varsayılan) hedef sağlanır. Her vService tipinde (HTTP / L7 TCP / Network) bulunur.
Açılır listeden mevcut hedefler seçilir; birden fazla Kurum Servisi ve/veya Kurum Servisi Grubu birlikte seçilebilir. Birden fazla hedef seçildiğinde trafik, vService'in LB Algoritması ve Oturum Sürekliliği ayarlarına göre bunlar arasında dağıtılır.
Kurum Servisi Seçimi
Seçicideki Backend service ve Backend group butonlarıyla bu ekrandan ayrılmadan yeni Kurum Servisi veya Kurum Servisi Grubu tanımlanabilir. Liste boşken Add backend services metni görünür; aynı Kurum Servisi listeye iki kez eklenirse form Duplicated backend services hatasıyla kaydı engeller.
Varsayılan Kurum Servisi olmadan
Default backend services boş bırakılır ve hiçbir koşullu yönlendirme eşleşmezse, istemciye TR7'nin kendi hata sayfasıyla 503 Service Unavailable yanıtı döndürülür.
INFO
Save
Save butonuna tıklanarak vService ekleme işlemi tamamlanır. Formda hatalı bir alan varken buton devre dışıdır; kayıt için ayrıca bir onay penceresi açılmaz. Kaydetme sonrasında:
- vService, vServices listesine eklenir.
- Status Enabled ise vService hemen aktif olur ve trafik almaya başlar.
- vService durumu izleme ekranlarında görünür hale gelir.
Details
Details butonu aktif edilerek gelişmiş yapılandırma seçeneklerine erişilir. Bu ayarlar; güvenlik (WAF, L7 DDoS, AGS), performans (önbellek, sıkıştırma), trafik manipülasyonu, loglama, kaynak yönetimi (QOS, bandwidth) ve zaman aşımı davranışını kontrol eder.
HTTP vService "Details" Formu
Yetki
Details'teki WAF ve QOS kutuları ile ana formdaki Certificate seçicisi, kullanıcının ilgili modül yetkisi yoksa devre dışı görünür.
INFO
Debug
Belirli koşullarda veya tüm istekler için detaylı debug logları oluşturmak için kullanılır. Her istek için request/response başlıkları, zamanlama (timing) bilgileri ve işlem detayları kaydedilir.
Select conditions alanı ile debug loglarının hangi istekler için aktif olacağı belirlenir:
- Boş bırakılırsa: Tüm istekler için debug aktif olur.
- Koşul seçilirse: Yalnızca koşula uyan istekler loglanır (ör. belirli bir IP adresinden/bloğundan gelen istekler).
Bu kutu, Status alanındaki Debug mode seçeneğiyle aynı anahtardır: kutu işaretlendiğinde Status Debug mode olur, Status'ta Debug mode seçildiğinde kutu işaretlenir. Details'teki Debug'ın ek imkânı, isteğe bağlı olarak bir koşul tanımlanıp debug'ın yalnızca o isteklerle sınırlandırılabilmesidir (hedefli / koşullu debug). Ayrıca Custom debug log entries listesiyle debug kayıtlarına Akıllı Değişken tabanlı ek alanlar (Entry name / Entry value) eklenebilir.
Performans etkisi
Debug yüksek miktarda log üretir ve disk I/O ile CPU kullanımını artırır. Üretim ortamında uzun süreli kullanımı önerilmez; sorun giderme tamamlandığında kapatılmalıdır. Mümkün olduğunda tüm trafik yerine koşulla sınırlandırılmış debug tercih edilmelidir.
INFO
WAF
Web Application Firewall (WAF) modülünü aktif etmek için kullanılır.
WAF WAF - WAAP sayfasında yer alır.
INFO
L7 DDoS & Threat Protection
L7 DDoS & Threat Protection özelliğini aktif etmek için kullanılır.
Bu koruma katmanının yönetimi Bot/DDoS Protection sayfasında yer alır.
INFO
AGS
AGS - AAM (Application Access Management) modülünü aktif etmek için kullanılır.
AGS AGS - AAM sayfasında yer alır.
INFO
Trusted Proxy
TR7'nin önünde başka bir proxy veya CDN (ör. bir üst yük dengeleyici ya da içerik dağıtım ağı) bulunduğunda, bağlantı doğrudan istemciden değil bu ara katmandan gelir; dolayısıyla istemci IP'si ara katmanın adresi olarak görünür. Trusted Proxy, güvenilen ara katmanların ilettiği X-Forwarded-For benzeri başlıkları değerlendirerek gerçek istemci IP adresini çözer.
Böylece loglama, coğrafi kısıtlama, hız sınırlama ve güvenlik kontrolleri gerçek istemci adresine göre çalışır. Güvenilen proxy tanımları bir profilde tutulur ve vService'e buradan bağlanır.
Güvenilir Proxy'ler profili yönetimi Trusted Proxies sayfasında yer alır.
INFO
Cache
HTTP yanıtlarının önbelleğe alınmasını sağlar; aynı içeriğe yapılan sonraki istekler doğrudan önbellekten karşılanır. Böylece arka uç (Kurum Servisi) yükü azalır ve yanıt süreleri iyileşir.
Bir istek geldiğinde TR7 önce önbelleğe bakar: eşleşme varsa (cache: HIT) yanıt doğrudan önbellekten sunulur ve Kurum Servisine gidilmez; eşleşme yoksa (cache: MISS) istek Kurum Servisine iletilir ve dönen yanıt, kurallara uygunsa önbelleğe alınır.
Profil aktif edildiğinde varsayılan davranış:
| Parametre | Varsayılan |
|---|---|
| Cached (HIT) Header Name | TRCACHE |
| Max. object size (MB) | Boş (0–2048 MB; boş bırakılırsa nesne boyutu sınırı motor varsayılanında kalır) |
| Toplam önbellek boyutu | Otomatik; vService'in QOS bellek limitine göre belirlenir |
| Cache Timeout | 1 saat (min. 10 sn) |
| Caching Rules | Statik dosya uzantılarına göre |
| Dynamic Caching | Devre dışı |
Koşullu önbellekleme kuralları, önbellek anahtarında Host / Query / başlık yok sayma ve dinamik önbellekleme gibi ayarlar profilde yapılandırılır.
Cache profili yönetimi Cache sayfasında yer alır.
INFO
Compression
HTTP yanıtlarının sıkıştırılarak istemciye gönderilmesini sağlar; metin tabanlı içeriklerde bant genişliği kullanımını önemli ölçüde azaltır ve sayfa yüklenme süresini iyileştirir.
TR7, istemcinin Accept-Encoding başlığını kontrol eder: istemci GZIP veya DEFLATE destekliyorsa yanıt ilgili algoritma ile sıkıştırılır, desteklemiyorsa sıkıştırılmadan gönderilir. Yalnızca profilde tanımlı MIME türleri sıkıştırılır; image/png gibi zaten sıkıştırılmış içerikler etkilenmez.
Profil aktif edildiğinde varsayılan davranış:
| Parametre | Varsayılan |
|---|---|
| Compression Algorithm | GZIP (alternatif: DEFLATE) |
| Compression Level | 1; en hızlı, minimum CPU (1–9 aralığı) |
| Offloading | Devre dışı |
| File Types | text/plain |
Sıkıştırma profili yönetimi Compression sayfasında yer alır.
INFO
Actions
Aksiyonlar, TR7 trafiği üzerinde işlem yapan yeniden kullanılabilir trafik manipülasyon bileşenleridir (GUI tabanlı, no-code). "Koşul sağlandığında ne yapılacağını" tanımlar ve isteğin/yanıtın yaşam döngüsünde devreye girer.
Önce tanımla, sonra vService'e seç: Bir aksiyon, Aksiyonlar ekranında merkezî olarak bir kez tanımlanır; canlı trafiğe uygulanabilmesi için ilgili vService'in Details › Actions alanından o aksiyonu seçmesi gerekir. Aynı aksiyon birden fazla vService'e bağlanabilir.
- Çalışma anı: İstek üzerinde (On Request) veya yanıt üzerinde (On Response).
- Koşullarla: Koşulsuz (tüm trafik) ya da bir Conditions ile sınırlı çalışır.
- Sıra: Bir vService'te birden fazla aksiyon, ekleme sırasına göre yukarıdan aşağıya işlenir; engelleyen/yönlendiren bir aksiyon sonrakileri geçersiz kılar.
Örnekler: HTTP başlığı ekleme/silme/değiştirme · URL yeniden yazma (rewrite) · yönlendirme (redirect) · güvenlik başlıkları (HSTS, CSP, X-Frame-Options) · cookie manipülasyonu · rate limiting.
Aksiyon yönetimi ve tüm aksiyon tipleri Actions sayfasında anlatılır.
INFO
X-Forwarded-For
TR7 bir Reverse Proxy (Load Balancer) olarak çalıştığı için, Kurum Servisleri varsayılan olarak istemcinin IP'si yerine TR7'nin IP adresini görür. Bu seçenek (aç/kapa; varsayılan kapalı) etkinleştirildiğinde TR7, gerçek istemci IP'sini X-Forwarded-For HTTP başlığı ile Kurum Servisine iletir.
| Başlık | İçerik |
|---|---|
X-Forwarded-For | Orijinal İstemci IP Adresi |
Bu bilgi; loglama, coğrafi kısıtlamalar, hız sınırlama, güvenlik kontrolleri ve uygulama seviyesindeki karar mekanizmaları için kritiktir.
X-Forwarded-For ↔ Trusted proxy: Bu iki alan zıt yönleri ilgilendirir: X-Forwarded-For, TR7'den Kurum Servisine giden yönde gerçek istemci IP'sini ekler; Trusted Proxy ise TR7'nin önündeki bir proxy/CDN'den gelen X-Forwarded-For başlığını okuyarak gerçek istemci IP'sini çözer.
Uygulama tarafı davranışı
X-Forwarded-For başlığının etkili olabilmesi için, Kurum Servisi veya uygulama katmanı bu başlığı okuyup istemci IP'si olarak kullanacak şekilde yapılandırılmalıdır. Aksi halde gerçek istemci IP bilgisi uygulama tarafından dikkate alınmayabilir.
INFO
LOG
Syslog-SIEM sunucularına vService Access loglarının gönderimini aktif etmek için kullanılır. Log profili ile hangi bilgilerin, hangi formatta ve nereye gönderileceği tanımlanır.
HTTP vService'ler için desteklenen formatlar:
Seçicide dokuz satır formatı listelenir:
| Format | Açıklama |
|---|---|
| Standard Log Format (HTTP) | Apache CLF uyumlu temel format |
| Apache Combined | Standard + Referrer + User Agent |
| Apache VHost | VHost + Standard + Referrer + User Agent |
| CEF Format (HTTP) | Common Event Format; SIEM entegrasyonu |
| TR7 JSON Format (HTTP) | Detaylı JSON format; tüm alanlar |
| TR7 WAF logu | Yalnızca WAF olay bilgisi |
| Manual Formats (HTTP) | Özelleştirilebilir JSON satır formatı |
| Manual Formats (HTTP) | Özelleştirilebilir CEF satır formatı |
| Manual Formats (HTTP) | Serbest tanımlı log satırı |
Log profili yönetimi Logs sayfasında yer alır.
INFO
SSL Security
vService üzerindeki SSL/TLS trafiğinin güvenlik politikasını belirler: izin verilen TLS sürüm aralığı, şifreleme algoritmaları (cipher) ve elliptic curve (ECDHE) parametreleri bu profille tanımlanır. Sertifikanın kendisi Certificate alanında seçilir; bu profil ise o TLS oturumunun nasıl kurulacağını yönetir.
Profil aktif edildiğinde varsayılan davranış:
| Parametre | Varsayılan |
|---|---|
| Min. SSL Version | TLSv1.1 |
| Max. SSL Version | - (sınırsız) |
| Cipher algorithms | Only secure (HIGH:!aNULL:!MD5) |
| Curve / ECDHE | Sistem önerisi (otomatik) |
SNI / Host tutarlılık kontrolü, mTLS (istemci sertifikası doğrulama), OCSP stapling, HSTS, post-quantum anahtar değişimi ve SSL donanım hızlandırma gibi ileri ayarlar da profilde yapılandırılır.
SSL güvenlik profili yönetimi TLS Security Profiles sayfasında yer alır.
INFO
Notification
vService'in durum, performans ve sertifika metriklerini izleyip eşik aşımlarında veya durum değişikliklerinde yöneticilere otomatik bildirim gönderir.
İzlenen metrikler ve varsayılan eşikler:
| Metrik | Varsayılan |
|---|---|
| Kurum Servisi / vService durumu (UP/DOWN) | Durum değişiminde |
| Bandwidth | 128 Mbps |
| Yeni bağlantı (Number of new connections) | 1000 conn/s |
| İstek oranı (Request rate) | 2500 req/s |
| Anlık oturum (Current session) | 1000 |
| Sertifika süre sonu | Bitişe 30 gün kala |
Kanallar (varsayılan kapalı): SNMP notification · E-mail · SMS · UI notification (arayüz içi bildirim). Silent at night seçeneğiyle gece saatlerinde bildirimler susturulur; profilde ayrıca kaynak IP başına eşikler (bağlantı/s, istek/s, hata/s, gelen/giden trafik) tanımlanabilir.
Bildirim profili yönetimi Notifications sayfasında yer alır.
INFO
Report
vService trafiğini detaylı raporlara dönüştürür: rapor ekranda HTML olarak görüntülenir, PDF ve Excel (XLSX) olarak dışa aktarılır. Trafik, standart olarak 31 farklı bölümde analiz edilir; raporlar belirli periyotlarla (daily / weekly / monthly / annual) otomatik e-posta ile PDF veya XLSX eki olarak gönderilebilir.
Özel (manuel) rapor alanları
Standart bölümlerin yanı sıra, Smart Variable desteğiyle özel rapor tabloları oluşturulabilir. Böylece HTTP başlıkları, çerez değerleri veya diğer istek/yanıt bilgileri (ör. X-Forwarded-For, X-Request-ID) rapora eklenebilir ve özel iş kurallarına göre kategorilendirilebilir: yani varsayılan bölümlerin dışında istenen herhangi bir bilgi raporlanabilir.
Rapor profili yönetimi Reports sayfasında yer alır.
INFO
QOS
Quality of Service (Servis Kalitesi) ayarlarını aktif etmek için kullanılır. vService için kaynak izolasyonu ve önceliklendirme sağlar.
QOS; vService'e ayrılacak CPU çekirdeği, bellek (RAM) ve işlem kaynaklarının sınırlandırılmasını veya garanti altına alınmasını mümkün kılar. Böylece her vService tanımlanan kaynaklar çerçevesinde izole çalışır (her vService için ayrı QOS ayarı gerekir) ve diğer servislerden bağımsız olarak performansını korur. Önceliklendirme sayesinde kritik vService'ler sistem yoğunluğu altında dahi daha yüksek işlem önceliğiyle çalıştırılabilir.
Inline Mode
Aç/kapa (varsayılan kapalı). Etkinleştirildiğinde güvenlik duvarı katmanında, vService'in Kurum Servislerini frontend adreslerine eşleyen satır-içi (inline) DNAT otomatik kuralları üretilir. TR7'nin trafik yolunda doğrudan konumlandığı (inline) kurulumlarda kullanılır.
Route Table
vService'in kullanacağı route tablosu seçilir. Varsayılan olarak sistemin varsayılan route tablosu kullanılır; farklı ağ segmentleri için ayrı route tabloları tanımlıysa uygun olan seçilebilir. Bu alan yalnızca birden fazla route tablosu tanımlı olduğunda görünür.
Memory Limit
vService'e ayrılacak bellek (RAM) üst sınırı. Seçenekler: 1, 2, 3, 4, 6, 8, 12, 16, 24, 32, 48, 64, 128, 256 GB. Varsayılan 2 GB.
Cores
vService'in çalışacağı işlemci çekirdekleri seçilir. Yalnızca cihaz üzerinde kullanılabilir (sisteme ayrılmamış) çekirdekler arasından, her biri farklı olacak şekilde bir veya daha fazla çekirdek atanabilir. Seçici Automatic / Manual anahtarıyla açılır; Automatic'te atama kendiliğinden yapılır, Manual'de en az bir çekirdek işaretlenmelidir (At least one core must be selected). Manual seçildiğinde aşağıdaki CPU Priority ve Cpu Usage Limit (%) alanları görünür hâle gelir.
CPU Priority
vService'in işlem önceliği: Low · Normal · High. Varsayılan Normal. Yüksek öncelik, sistem yoğunluğunda kritik vService'lere işlemci avantajı sağlar.
Cpu Usage Limit (%)
vService'in kullanabileceği CPU yüzdesi üst sınırı (1–100; ondalık değer girilebilir). Varsayılan değeri yoktur; belirtilmezse yüzde sınırı uygulanmaz.
Core Engine
vService'in çalışacağı yük dengeleme çekirdeğinin sürümü seçilir. Desteklenen yetenekler sürüme göre değişebilir; varsayılan olarak sistemin önerdiği sürüm kullanılır.
INFO
Bandwidth
vService'in istemciye gönderdiği (indirme yönündeki) bant genişliğini sınırlandırmak için kullanılır (aç/kapa; varsayılan kapalı). Etkinleştirildiğinde tek bir Total limit değeri girilir; yanındaki birim seçicisi Kbps (varsayılan), Mbps ve Gbps sunar, üst sınır 32 Gbps'tir. Sınır, vService'in Kurum Servisinden istemciye akan toplam trafiğine uygulanır; gelen yön için ayrı bir limit yoktur.
Bu sayede bir vService'in aşırı trafikle diğer servislerin performansını olumsuz etkilemesi engellenir. Özellikle paylaşımlı ortamlarda adil kaynak kullanımı sağlamak, kritik servisler için kapasiteyi garanti altına almak ve ani trafik artışlarının etkisini sınırlamak amacıyla kullanılır.
Tek tek istekler (per-request) için bant genişliği sınırlamak istenen durumlarda Bandwidth Limitation aksiyonu kullanılabilir.
INFO
vService Limits
Bağlantı ve oturum trafiğini üst sınırlarla kontrol altına alır; vService'i ve sistemi aşırı yük ve bağlantı taşmalarına karşı korur. Bir vService Limit profili seçilmese dahi aşağıdaki varsayılan değerlerle çalışır (profil seçildiğinde bu değerler profildekilerle değiştirilir):
| Limit | Varsayılan | Açıklama |
|---|---|---|
| Max. total connections | 20.000 | Toplam eşzamanlı bağlantı |
| Max. failed connection retries | 3 | Kurum Servisi bağlantı hata tekrarı |
| Max. new connecions/s | 5.000 | Saniyede yeni bağlantı |
| Max. connections/s | 10.000 | Saniyede toplam bağlantı |
| Max. session rate/s | 10.000 | Saniyede oturum |
| Max. total SSL connections | 5.000 | Eşzamanlı SSL bağlantı |
| Max. SSL connections/s | 2.000 | Saniyede SSL bağlantı |
| Buffer size(kB) | 128 | İstek/yanıt buffer boyutu |
vService limit profili yönetimi vService Limits sayfasında yer alır.
INFO
Timeout
İstemci ile TR7 arasındaki ve TR7 ile Kurum Servisleri arasındaki bağlantı ve oturum zaman aşımı davranışlarını kontrol etmek için kullanılır. Profil seçilmezse aşağıdaki varsayılanlar geçerlidir:
| Timeout | Varsayılan | Açıklama |
|---|---|---|
| HTTP keepalive timeout | 120 sn | İstemci HTTP bağlantısının veri akışı olmadan açık tutulma süresi |
| HTTP request timeout | 30 sn | Bir HTTP isteğinin istemciden tamamen alınması için tanınan süre |
| Connect timeout | 20 sn | Kurum Servisi ile TCP bağlantısı kurma süresi |
| Server timeout | 90 sn | Kurum Servisinden veri alınmadan önce beklenecek süre |
| Client timeout | 90 sn | İstemciden veri gelmeden önce bağlantının açık tutulma süresi |
| Queue timeout | 60 sn | İsteğin Kurum Servisi kuyruğunda bekleyebileceği süre |
| Tunnel(Websocket) timeout | 120 sn | WebSocket gibi uzun süreli bağlantılarda idle bekleme süresi |
| Client FIN | 3 sn | İstemci bağlantıyı sonlandırdıktan sonra kapanış süresi |
| Server FIN | 6 sn | Kurum Servisi bağlantıyı sonlandırdıktan sonra kapanış süresi |
Timeout profili yönetimi Timeouts sayfasında yer alır.
INFO
LB Algorithm
Yük dengeleme algoritması, gelen istemci trafiğinin birden fazla Kurum Servisi arasında hangi kurala göre dağıtılacağını belirleyen yöntemdir. Amaç; performansı artırmak, tek bir sunucunun aşırı yüklenmesini önlemek ve yüksek erişilebilirlik sağlamaktır.
TIP
vService arkasında tek bir Kurum Servisi olan senaryolarda LB Algorithm ve Persistence seçimi önemsizdir.
Algoritmalar
HTTP vService'ler özelinde desteklenen 13 yük dengeleme algoritması aşağıdaki tabloda verilmiştir; varsayılan Round robin'dir. Self-Persistent kolonu, algoritmanın kendiliğinden oturum sürekliliği sağlayıp sağlamadığını gösterir.
| Algoritma | Self-Persistent | Açıklama | Önerilen Senaryo |
|---|---|---|---|
| Round robin | ✗ | Gelen istekleri sunuculara sırayla ve eşit dağıtır. Her yeni istek bir sonraki sunucuya gider, liste sonuna ulaşınca başa döner. Sunucu kapasitelerini dikkate almaz. | Tüm sunucuların aynı donanıma sahip olduğu homojen ortamlar. Stateless uygulamalar ve kısa süreli HTTP istekleri. |
| Weighted Round Robin | ✗ | Round Robin'e ağırlık faktörü ekler. Yüksek ağırlıklı sunucular oransal olarak daha fazla istek alır (ör. 3:1 oranında güçlü sunucu her 4 istekten 3'ünü alır). | Farklı CPU/RAM/işlem gücüne sahip heterojen Kurum Servisleri; yeni ve eski nesil sunucuların bir arada çalıştığı ortamlar. |
| Least Connection | ✗ | Anlık aktif bağlantı sayısını izler ve her yeni isteği en az bağlantıya sahip sunucuya yönlendirir. Dinamik iş yükü dengelemesi sağlar. | WebSocket, veritabanı bağlantıları, dosya transferleri gibi uzun süreli bağlantılar; istek süreleri değişken senaryolar. |
| Least Response Time | ✗ | Sunucuları ölçülen süreye göre puanlar ve en düşük değere sahip sunucuya yönlendirir. Time metric alanı hangi sürenin esas alınacağını belirler: Total time (kuyruk + bağlantı + yanıt; varsayılan) veya Response time (yalnızca yanıt süresi). | Yanıt süresi sunucudan sunucuya değişen Kurum Servisleri; arka uç hızının belirleyici olduğu senaryolar. |
| Least Bandwidth | ✗ | Sunucuların ölçülen bant genişliği kullanımını Bandwidth window süresi boyunca ortalar ve en az bant genişliği kullanan sunucuya yönlendirir. | Bant genişliğinin darboğaz olduğu akış (streaming) ve büyük dosya senaryoları. |
| First | ✗ | Sunucuları tanımlı sıraya göre değerlendirir; ilk sunucu maksimum bağlantı limitine ulaşana kadar tüm trafiği ona yönlendirir, limit aşılınca sıradakine geçer. | Aktif-pasif (failover) mimarileri; lisans maliyetini minimize etmek için minimum sunucu kullanımı gereken durumlar. |
| Random | ✗ | Her istek için Kurum Servisleri arasından rastgele bir sunucu seçer. Ağırlık tanımlıysa seçim olasılığı ağırlıkla orantılı olur. Basit ve düşük overhead'li. | Çok sayıda kısa süreli ve bağımsız istek işleyen sistemler; stateless mikroservisler; test/geliştirme ortamları. |
| Fastest | ✗ | Sunucuların yanıt sürelerini sürekli ölçer ve en düşük latency'ye sahip sunucuya yönlendirir. | Düşük gecikmenin kritik olduğu gerçek zamanlı uygulamalar: API gateway, finansal işlem sistemleri, oyun sunucuları. |
| Fastest+ | ✗ | Fastest'ı genişletir; yanıt süresine ek olarak aktif bağlantı sayısı veya sunucu yükü gibi ikinci bir metriği değerlendirir. İki boyutlu optimizasyon. | Hem hız hem kapasite dengesinin önemli olduğu yüksek trafikli üretim ortamları; e-ticaret ve medya streaming. |
| Source | ✓ | İstemci kaynak IP adresinden hash üretir ve bu hash'e göre tutarlı şekilde aynı sunucuyu seçer. Aynı IP'den gelen istekler her zaman aynı sunucuya gider. | Uygulama seviyesinde oturum yönetimi olmayan ama kullanıcı tutarlılığı gereken sistemler; basit session persistence. |
| URI | ✓ | HTTP isteğindeki URI path'inden hash hesaplar. Aynı URI'ye yapılan istekler tutarlı şekilde aynı sunucuya gider. Önbellek lokalitesini maksimize eder. | CDN ve önbellekleme katmanları; statik içerik dağıtımı; cache-tiering mimarileri; disk I/O optimizasyonu. |
| URL Param | ✓ | Belirtilen URL query parametresinin (ör. ?user_id=123) değerinden hash üretir; aynı parametre değerine sahip istekler tutarlı şekilde aynı sunucuya gider. Parametre yoksa yönlendirme diğer sunuculara dağıtılır. | Kullanıcı/oturum bazlı yönlendirme; multi-tenant uygulamalarda tenant_id izolasyonu; kullanıcı-spesifik state. |
| HDR | ✓ | Belirtilen HTTP başlığının (ör. X-User-ID, Authorization, X-Tenant-ID) değerinden hash hesaplar. Başlık yoksa fallback uygulanır. | API gateway'lerde token/API key bazlı yönlendirme; correlation-id takibi; B2B platformlarında müşteri segmentasyonu. |
Algoritmaya özgü ek alanlar
Seçilen algoritmaya göre LB Algorithm kutusunda ek alanlar görünür:
| Algoritma | Ek alan | Açıklama |
|---|---|---|
| URI | URI character length (zorunlu) · URI depth | Hash'e katılacak URL uzunluğu (1–10.000) ve / karakteri sayısıyla hesaplanan derinlik (1–100). |
| URL Param | URL parameter to use (zorunlu) · Check post parameters | URL parametrelerinde aranacak sözcük; işaretlenirse POST parametreleri de taranır (varsayılan kapalı). |
| HDR | HDR name (zorunlu) | Hash'e esas alınacak HTTP başlığının adı. |
| Fastest | Fastest Opt-1 | Aşağıdaki metrik listesinden seçilir. |
| Fastest+ | Fastest Opt-1 · Fastest Opt-2 | İki metrik farklı olmalıdır. |
| Least Response Time | Time metric | Total time (varsayılan) / Response time. |
| Least Bandwidth | Bandwidth window | Ölçülen bant genişliğinin ortalandığı pencere; varsayılan 10 s, aralık 1 s – 1 h. |
| Source · URI · URL Param · HDR | Hash consistency | Hash tabanlı kalıcılığın Kurum Servislerini aşırı yüklemesini önler (varsayılan kapalı). |
Fastest Metrikleri
Fastest algoritması, belirlenen metriğe göre en iyi performansı gösteren sunucuyu seçer. Aşağıdaki metriklerden biri seçilerek yönlendirme kriteri belirlenir:
| Metrik | Açıklama |
|---|---|
| Least Response Time | HTTP yanıt sürelerini ölçer ve en düşük ortalama yanıt süresine sahip sunucuya yönlendirir. İlk byte'tan yanıtın tamamlanmasına kadar geçen süreyi kapsar. Uygulama katmanı performansını en doğrudan yansıtan metriktir. |
| Least Connection Time | TCP bağlantı kurulum süresini (three-way handshake) ölçer. En hızlı bağlantı kurulan sunucuyu tercih eder. Ağ gecikmesi ve sunucu network stack performansını yansıtır. |
| Least Queue Time | İsteklerin arka uca iletilmeden önce kuyrukta bekleme süresini ölçer. En kısa kuyruk bekleme süresine sahip sunucuya yönlendirir. |
| Least Connections | Anlık aktif TCP bağlantı sayısını takip eder ve en az bağlantıya sahip sunucuyu seçer. Uzun süreli bağlantılar içeren senaryolarda etkilidir. |
| Least Queues | Sunucu başına bekleyen istek kuyruğu derinliğini izler. En az kuyruk derinliğine sahip sunucuya yönlendirir. |
| Least Connection Error | Belirli bir zaman penceresinde oluşan bağlantı hatalarını (connection refused, timeout, reset) sayar. En az hata oranına sahip sunucuyu tercih eder. |
| Least aborted connections | Sunucu tarafından erken sonlandırılan (abort) bağlantı sayısını izler. Yavaş veya yanıt vermeyen sunucuları tespit etmek için kullanışlıdır. |
| Least used connections | Sunucunun anlık kullanılan bağlantı sayısını değerlendirir ve en az kullanılan sunucuyu tercih eder. |
Fastest+ Metrikleri
Fastest+ algoritması, iki farklı metriği birlikte değerlendirerek çok boyutlu optimizasyon sağlar. İlk metrik (Opt-1) birincil kriter, ikinci metrik (Opt-2) eşitlik durumunda veya ağırlıklı hesaplamada ikincil kriter olarak kullanılır.
Çalışma mantığı:
- Tüm sunucular için her iki metrik değeri toplanır.
- Birincil metriğe (Opt-1) göre sunucular sıralanır.
- Eşit veya yakın değerlerde ikincil metrik (Opt-2) devreye girer.
- Her iki kriteri de en iyi karşılayan sunucu seçilir.
Opt-1 (Fastest Opt-1) ve Opt-2 (Fastest Opt-2) için Fastest metriklerinin tümü kullanılabilir (Least Response Time, Least Connection Time, Least Queue Time, Least Connections, Least Queues, Least Connection Error, Least aborted connections, Least used connections); iki metrik farklı olmalıdır. Varsayılan olarak Opt-1 Least Response Time, Opt-2 ise Least Connection Time değeriyle gelir.
Örnek Opt-1 / Opt-2 kombinasyonları:
| Kombinasyon | Kullanım Senaryosu |
|---|---|
| Least Response Time + Least Connections | En hızlı yanıt veren sunucuyu seçer; eşitlikte en az yüklü olanı tercih eder. Genel amaçlı web uygulamaları için idealdir. |
| Least Connections + Least Connection Error | Yük dengesini öncelikler; eşitlikte en güvenilir sunucuyu seçer. Yüksek erişilebilirlik gerektiren sistemler için uygundur. |
| Least Response Time + Least Queue Time | Performans odaklı seçim yapar; kuyruk birikimi olan sunuculardan kaçınır. Anlık trafik dalgalanmaları için etkilidir. |
| Least Connection Error + Least Response Time | Önce güvenilirliği, sonra performansı değerlendirir. Kararsız arka uçların olduğu ortamlarda stabilite sağlar. |
Oturum Sürekliliği (Persistence)
Persistence, bir istemciden gelen ardışık isteklerin aynı Kurum Servisine yönlendirilmesini sağlayan mekanizmadır. Session Affinity veya Sticky Sessions olarak da adlandırılır.
TR7 normal şartlarda her isteği bağımsız değerlendirir ve algoritmasına göre herhangi bir arka uca yönlendirebilir. Ancak bazı uygulamalar, kullanıcı oturumu boyunca aynı sunucuyla iletişim kurmayı gerektirir.
| Persistence Türü | Açıklama |
|---|---|
| None | Persistence devre dışıdır. Her istek, seçilen algoritmaya göre bağımsız değerlendirilir. Stateless uygulamalar veya oturum verisini merkezi bir store'da (Redis, veritabanı) tutan mimariler için uygundur. |
| New cookie | TR7, ilk istekte yanıta özel bir persistence cookie'si ekler. Sonraki isteklerde bu cookie okunarak istemci aynı sunucuya yönlendirilir. Cookie adı ve timeout süresi yapılandırılabilir. Uygulama cookie'lerinden bağımsız çalışır. |
| Current cookie | Uygulama tarafından zaten oluşturulan mevcut bir cookie değerini (ör. JSESSIONID, PHPSESSID, ASP.NET_SessionId) kullanır. TR7 yeni cookie eklemez, var olanı okuyarak yönlendirme kararı verir. |
| Hash | Belirtilen bir anahtardan (kaynak IP, başlık, URL parametresi vb.; Akıllı Değişkenlerle tanımlanır) hash hesaplayarak oturum sürekliliği sağlar. Anahtar → Kurum Servisi eşlemesi TR7 üzerinde cihaz yerel bir tabloda tutulur; SAM'den farklı olarak cluster cihazları arasında paylaşılmaz. HTTP ve L7 TCP tiplerinde kullanılabilir. |
| Session Affinity Manager (SAM) | Cookie tabanlı, durum tutan (stateful) oturum sürekliliği sağlar; oturumları sunucular arasında dengeli dağıtır ve sunucu ekleme/çıkarma durumunda yeniden dengeleyebilir. Ayrıntı Session Affinity Manager (SAM) bölümünde yer alır. |
Persistence türleri karşılaştırması:
| Özellik | None | New cookie | Current cookie | Hash |
|---|---|---|---|---|
| State tutma (TR7) | - | Hayır | Hayır | Evet |
| Cookie gereksinimi | - | TR7 oluşturur | Uygulama oluşturur | Gerekmez |
| Uygulama müdahalesi | - | Gerekmez | Çerez üretmesi gerekir | Gerekmez |
| Ölçeklenebilirlik | Yüksek | Yüksek | Yüksek | Orta |
| Failover davranışı | - | Yeni sunucu atanır | Yeni sunucu atanır | Sunucu erişilemezse yeni sunucu atanır |
| HTTPS desteği | ✓ | ✓ | ✓ | ✓ |
| Non-HTTP protokoller | ✓ | ✗ | ✗ | ✓ |
New cookie yapılandırma parametreleri:
| Parametre | Açıklama |
|---|---|
| Cookie Name | TR7 tarafından oluşturulacak persistence cookie'sinin adı. Varsayılan TR-C. Mevcut uygulama cookie'leriyle çakışmayacak benzersiz bir isim seçilmelidir. |
| Cookie max-idle | Cookie'nin istek gelmeden geçerli kalacağı maksimum süre; bu süre boyunca yeni istek gelmezse persistence kaydı geçersiz olur. Varsayılan 30 dakika (aralık 60 sn – 7 gün). |
| Cookie max-life | Cookie'nin toplam yaşam süresi; aktiviteden bağımsız olarak bu süre dolunca cookie geçersiz olur. Varsayılan 8 saat (aralık 10 dk – 30 gün). |
Max-Idle: Her istekte sıfırlanır; kullanıcı aktif olduğu sürece oturum devam eder. Max-Life: Mutlak son kullanma tarihidir, sıfırlanmaz. Varsayılan değerlerle (max-idle 30 dk, max-life 8 saat) kullanıcı 30 dakika inaktif kalırsa veya toplam 8 saat geçerse persistence sona erer.
Current cookie: yaygın framework cookie adları:
| Framework / Platform | Varsayılan Cookie Adı |
|---|---|
| Java (Tomcat, Jetty, WildFly) | JSESSIONID |
| PHP | PHPSESSID |
| ASP.NET | ASP.NET_SessionId |
| ASP.NET Core | .AspNetCore.Session |
| Python (Django) | sessionid |
| Python (Flask) | session |
| Ruby on Rails | _session_id |
| Node.js (Express) | connect.sid |
| Laravel | laravel_session |
Belirtilen cookie istekte bulunamazsa persistence uygulanmaz ve istek yük dengeleme algoritmasına göre yönlendirilir.
Hash yapılandırma parametreleri:
| Parametre | Açıklama |
|---|---|
| Hash key | Kalıcılık anahtarını oluşturan Akıllı Değişken listesi (en az 1; yinelenen giriş kabul edilmez). |
| Hash key list size (zorunlu) | Anahtar → Kurum Servisi tablosunun kapasitesi. Varsayılan 3.000.000; aralık 10.000 – 100.000.000. |
| Hash key expire time | Tablodaki bir kaydın istek gelmeden tutulacağı süre. Varsayılan 7 gün; aralık 10 dk – 365 gün. |
Senaryo bazlı persistence önerileri:
| Senaryo | Önerilen Persistence | Gerekçe |
|---|---|---|
| Stateless mikroservisler | None | Oturum verisi merkezi store'da tutulur, persistence gereksizdir. |
| Legacy web uygulamaları | Current cookie | Mevcut oturum yönetimi korunur, uygulama değişikliği gerekmez. |
| Yeni web uygulamaları | New cookie | Uygulama bağımsız, esnek yapılandırma imkanı sunar. |
| API Gateway / REST servisleri | Hash (başlık tabanlı anahtar) | Token veya API key başlığından türetilen Akıllı Değişken anahtarıyla tutarlı yönlendirme sağlar. |
| CDN / Önbellek katmanı | Hash (URL tabanlı anahtar) | Aynı içerik aynı sunucudan servis edilerek cache hit oranı artırılır. |
Session Affinity Manager (SAM)
Session Affinity Manager (SAM), çerez tabanlı ve durum tutan (stateful) bir oturum sürekliliği yöntemidir. Diğer persistence türlerinden farklı olarak, oturum kimliği ile Kurum Servisi arasındaki eşlemeyi ayrı bir oturum eşleme tablosunda tutar; bu tablo aynı zamanda oturum başına istek ve bağlantı sayaçlarını da barındırır. Böylece oturumlar çalışma anında izlenebilir, temizlenebilir ve sunucular arasında yeniden dengelenebilir. SAM; gelişmiş oturum yönetimi, özel oturum kimliği biçimleri ve çalışma anı oturum kontrolü sağlar.
SAM yalnızca HTTP tipi vService'lerde ve self-persistent olmayan yük dengeleme algoritmalarıyla kullanılabilir.
SAM Nedir?
Klasik çerez tabanlı yöntemlerde (New cookie / Current cookie) sunucu kimliği doğrudan çerezin içine gömülür; Hash yönteminde ise yönlendirme, isteğin bir özniteliğinden (kaynak IP, başlık, URL parametresi) hesaplanan hash değerine dayanır. Bu yöntemlerin hiçbirinde TR7 tarafında oturum durumu tutulmaz.
SAM ise her oturum için bir oturum kimliği üretir (veya mevcut bir çerezden okur) ve bu kimliği, atandığı Kurum Servisi ile birlikte oturum eşleme tablosuna kaydeder. Bu durum tutan yapı sayesinde oturumlar tek tek listelenebilir, silinebilir ve yeniden dengelenebilir: çerez tabanlı durumsuz yöntemlerde bulunmayan bir yetenektir.
Nasıl Çalışır?
Oturum kimliğinin kaynağı Cookie Source alanıyla belirlenir:
- TR7 Generates: İlk istekte (çerez yoksa) seçilen Session ID Format biçimine göre bir oturum kimliği üretilir, güvenli biçimde kodlanır ve yanıta bir çerez olarak eklenir. Sonraki isteklerde bu çerez okunup çözülür ve istek, oturum eşleme tablosu üzerinden oturumun sabitlendiği Kurum Servisine yönlendirilir.
- Current Cookie: Oturum kimliği, uygulama (Kurum Servisi) tarafından üretilen mevcut bir çerez değerinden okunur; TR7 yeni çerez üretmez.
İlk istekte hedef Kurum Servisi, seçili yük dengeleme algoritmasına göre belirlenir; sonraki isteklerde oturum, eşleme tablosu üzerinden aynı Kurum Servisine sabitlenir. Oturum kimliğini taşımayan istekler (örneğin çerez göndermeyen istemciler) eşleme tablosuna işlenmez ve doğrudan yük dengeleme algoritmasına göre dağıtılır.
Yeniden Dengeleme (Rebalance)
SAM oturumları çalışma anında yeniden dengelenebilir. Yeniden dengeleme, seçilen oturumların eşleme tablosundan silinmesiyle gerçekleşir; etkilenen istemciler bir sonraki isteklerinde yük dengeleme algoritmasına göre yeniden bir Kurum Servisine atanır. Bu işlem, bir Kurum Servisi bakıma alınmadan önce oturumların diğer sunuculara kontrollü biçimde taşınması için kullanılır.
Yeniden dengeleme sırasında hangi oturumların taşınacağı bir seçici ile belirlenir:
| Seçici | Davranış |
|---|---|
| First (Sequential) | Eşleşen oturumlar baştan sırayla seçilir. |
| Random | Eşleşen oturumlardan rastgele seçim yapılır. |
| Oldest (By expiry) | Süresi dolmaya en yakın (en eski) oturumlar seçilir. |
| Newest (By expiry) | Süresi dolmaya en uzak (en yeni) oturumlar seçilir. |
| Least Connections | En az bağlantıya sahip oturumlar seçilir. |
Percent değeri, eşleşen oturumların yüzde kaçının (1–100; varsayılan 100) yeniden dengeleneceğini belirler. Selection alanı yalnızca yüzde 100'ün altında bir değer girildiğinde görünür; %100'de eşleşen oturumların tamamı taşınır. İşlem, kaç oturumun temizleneceğini gösteren bir onay penceresiyle (Rebalance Sessions?) başlatılır. Yeniden dengelemeye ek olarak oturumlar tek bir Kurum Servisi (Clear) veya tüm tablolar (Clear All) için temizlenebilir.
Sunucu ekleme, çıkarma veya sağlık durumu değişimi mevcut sabitlenmiş oturumları otomatik olarak yeniden dağıtmaz; sabitleme, Max Idle süresi dolana ya da oturumlar temizlenene/yeniden dengelenene kadar korunur.
Yapılandırma Parametreleri
INFO
Cookie Source
Oturum kimliğinin kaynağını belirler. Varsayılan TR7 Generates.
- TR7 Generates: Oturum kimliği TR7 tarafından üretilir ve çerez olarak yerleştirilir.
- Current Cookie: Oturum kimliği, uygulama tarafından üretilen mevcut bir çerezden okunur.
Session ID Format alanı ve güvenlik bayraklarının çereze yansıması yalnızca TR7 Generates modunda geçerlidir.
INFO
Cookie Name Zorunlu
Oturum sürekliliğinde kullanılacak çerezin adı. Alan boş açılır ve doldurulması zorunludur; gri yer tutucu olarak TR7SID gösterilir. Mevcut uygulama çerezleriyle çakışmayacak benzersiz bir ad seçilmelidir.
INFO
Session ID Format Varsayılan: UUID
Üretilecek oturum kimliğinin biçimini belirler. Yalnızca Cookie source = TR7 Generates seçildiğinde görünür. Formda varsayılan seçim UUID'dir (listenin ilk seçeneği); bu alanı boş kaydedilmiş eski kayıtlarda motor IP-Timestamp-Random biçimini kullanır.
| Biçim | İçerik |
|---|---|
| UUID (varsayılan) | Standart bir UUID değeri üretilir. |
| IP-Timestamp-Random | Kaynak IP, zaman damgası ve rastgele değerin birleşiminden oluşur. |
| IP-Random | Kaynak IP ve rastgele değerin birleşiminden oluşur. |
| Custom Format | Oturum kimliği, tanımlanan özel format anahtarlarından (Custom format format keys) oluşturulur. |
Custom Format biçimi seçildiğinde, oturum kimliğini oluşturan alanlar Custom format format keys (arayüzdeki yazımıyla) listesiyle tanımlanır (en az bir anahtar); her anahtar bir Akıllı Değişken (Smart Variable) ifadesi olabilir. Ayrıntı Smart Variables (fx) sayfasında yer alır.
INFO
Max Life
Oturum çerezinin mutlak yaşam süresi (değer + birim). Varsayılan 24 saat. Bu süre, oturum etkinliğinden bağımsız olarak çerezin geçerli kalacağı en uzun süreyi belirler; süre dolduğunda çerez geçersiz olur.
INFO
Max Idle
Oturumun atıl (idle) zaman aşımı (değer + birim). Varsayılan 30 dakika. Oturum eşleme tablosundaki kaydın geçerlilik süresini belirler; bu süre boyunca yeni istek gelmezse oturum kaydı düşer. Max Life değerinden bağımsız çalışır.
INFO
Security Flags
Üretilen oturum çerezine eklenecek güvenlik bayrakları (çoklu seçim). Formda varsayılan olarak HttpOnly ve Secure (HTTPS only) işaretli gelir. Yalnızca TR7 Generates modunda çereze yansır.
| Bayrak | Açıklama |
|---|---|
| HttpOnly (varsayılan) | Çereze istemci betiklerinden (JavaScript) erişimi engeller. |
| Secure (HTTPS only) (varsayılan) | Çerezin yalnızca HTTPS bağlantılarında gönderilmesini sağlar. |
| SameSite=Strict | Çerezin yalnızca aynı siteye yapılan isteklerde gönderilmesini sağlar. |
| SameSite=Lax | Çerezin siteler arası gezinmelerde sınırlı biçimde gönderilmesini sağlar. |
SameSite=Strict ve SameSite=Lax birlikte seçildiğinde Strict önceliklidir.
Uyumluluk ve Kısıtlar
WARNING
- SAM yalnızca HTTP tipi vService'lerde kullanılabilir; L7 TCP ve Network tiplerinde bulunmaz.
- Yalnızca self-persistent olmayan algoritmalarla birlikte çalışır: Round robin, Weighted Round Robin, Least Connection, Least Response Time, Least Bandwidth, First, Random, Fastest, Fastest+. Self-persistent bir algoritma (Source, URI, URL Param, HDR) seçildiğinde Persistence alanının tamamı gizlenir.
- İlgili Kurum Servisi grubunda en az iki Kurum Servisi bulunmalıdır.
- Oturum eşleme tablosu sabit 1.000.000 kayıt kapasitelidir; kullanıcı tarafından değiştirilemez.
- Session ID Format değiştirildiğinde mevcut oturum eşleme tablosu sıfırlanır; etkin oturumlar yeniden atanır.
Kullanım Senaryoları
| Senaryo | Gerekçe |
|---|---|
| Oturumların çalışma anında izlenmesi ve yönetilmesi gereken uygulamalar | Oturum eşleme tablosu listelenebilir, temizlenebilir ve yeniden dengelenebilir. |
| Bakım öncesi kontrollü oturum taşıma | Yeniden dengeleme ile bir Kurum Servisindeki oturumlar diğerlerine kademeli olarak taşınabilir. |
| Çerez biçimi ve güvenlik bayrakları üzerinde tam kontrol gereken uygulamalar | Oturum kimliği biçimi ve HttpOnly / Secure / SameSite bayrakları ayrıntılı yapılandırılabilir. |
| Uygulamanın kendi oturum çerezini ürettiği ortamlar | Cookie source = Current Cookie ile mevcut çerez oturum kimliği olarak kullanılır. |
İlgili
- vService: ortak alanlar ve genel çalışma mantığı
- L7 TCP vService · Network vService: diğer tipler
- Kurum Servisleri · Backend Groups: yönlendirme hedefleri
- Conditions · Actions: content switching ve trafik manipülasyonu
- Profiller: önbellek, sıkıştırma, log, rapor, timeout, vService limitleri
- SSL/TLS Certificates · TLS Security Profiles
