Cookie Based Connection Persistency
Cookie Based Connection Persistency Aksiyonu Nedir?
Cookie Based Connection Persistency aksiyonu, HTTP çerezleri kullanarak istemcilerin her zaman aynı Kurum Servisine yönlendirilmesini sağlar. Bu aksiyon, oturum tutarlılığı gerektiren uygulamalarda kullanıcı deneyimini korur.
Bu aksiyon HTTP vService'lerde kullanılabilir ve koşul gerektirmez.
Session Persistence Nedir?
Session persistence (oturum kalıcılığı), bir istemcinin sonraki isteklerinin ilk isteğin gittiği aynı Kurum Servisine yönlendirilmesidir.
TIP
Ne zaman gereklidir?
- Oturum verisi sunucu belleğinde tutuluyorsa.
- Alışveriş sepeti uygulamalarında.
- WebSocket bağlantılarında.
- Dosya yükleme işlemlerinde.
Cookie Based Connection Persistency Aksiyonunun Önemi
Load balancing yapılan ortamlarda oturum tutarlılığı kritik öneme sahiptir.
Cookie Based Connection Persistency aksiyonu;
- Backend'den bağımsız oturum yönetimi sağlar,
- Uygulamada değişiklik gerektirmez,
- Dinamik çerez oluşturma ile güvenlik sağlar,
- Esnek timeout ve yaşam süresi kontrolü sunar,
- HttpOnly ve Secure flag'leri ile güvenli çerez yönetimi sağlar.
Bu nedenle Cookie Based Connection Persistency aksiyonu, yüksek erişilebilirlikli uygulamalar için vazgeçilmez bir bileşendir.
Kullanılabildiği vService Tipleri
Çalışma Anı
Nasıl Eklenir?
Yeni bir Cookie Based Connection Persistency 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 Cookie Based Connection Persistency seçilir.
- Aksiyona ait ilgili konfigürasyonlar yapılandırılır.
Addbutonuna tıklanarak aksiyon eklenir.
Cookie Based Connection Persistency Aksiyonu Ekleme Formu
Cookie Based Connection Persistency Aksiyonu Ekleme Formu
INFO
Cookie Name Zorunlu
Oturum kalıcılığı için kullanılacak çerezin adı girilir. Bu çerez, istemciye gönderilecek ve sonraki isteklerde Kurum Servisi belirleme için kullanılacaktır.
Öneriler:
- Anlamlı ve benzersiz bir isim kullanılır (örn.
TR7_SESSION,SERVERID). - Uygulama çerezleriyle çakışmayan bir isim seçilir.
- İsim kısa ve öz tutulur.
INFO
Cookie Action Varsayılan: Create if cookie is absent
Çerezin nasıl oluşturulacağı belirlenir.
- Create if Cookie is Absent: Çerez yoksa yeni oluşturur. En yaygın kullanım.
- Prepend to the Current Cookie: Mevcut çerez değerinin önüne ekler. Mevcut çerezle birlikte kullanım.
- Rewrite the Current Cookie: Mevcut çerezi tamamen değiştirir. Çerez değerini güncellemek için.
TIP
Çoğu senaryo için Create if cookie is absent (insert) seçeneği önerilir. Bu, mevcut çerezleri etkilemeden çalışır.
INFO
Mark As Only HTTP Varsayılan: Kapalı
Çereze HttpOnly flag'i ekler. Bu flag, çerezin JavaScript tarafından erişilememesini sağlar.
TIP
XSS (Cross-Site Scripting) saldırılarına karşı koruma sağlar. Özellikle oturum çerezleri için etkinleştirilmesi önerilir.
INFO
Mark As Secure Varsayılan: Kapalı
Çereze Secure flag'i ekler. Bu flag, çerezin yalnızca HTTPS üzerinden gönderilmesini sağlar.
WARNING
Bu seçenek etkinleştirilirse, çerez HTTP bağlantılarında gönderilmez. HTTPS kullanmayan ortamlarda oturum kalıcılığı bozulur.
INFO
Cookie Domain
Çerezin geçerli olacağı alan adı (domain) bilgisi girilir.
Boş bırakıldığı senaryoda çerez yalnızca isteğin yapıldığı domain için geçerli olur (alt domainler hariç).
Örnek değerler:
| Değer | Geçerli Olduğu Domainler |
|---|---|
| (boş) | www.example.com (yalnızca) |
.example.com | example.com, www.example.com, api.example.com |
shop.example.com | shop.example.com (yalnızca) |
INFO
Create Indirectly Varsayılan: Açık
İstemci zaten geçerli bir çereze sahipse, yeni çerez gönderilmez. Bu, gereksiz Set-Cookie başlığını önler.
TIP
- Bant genişliği tasarrufu sağlar.
- Gereksiz çerez trafiğini önler.
- Tarayıcı çerez limitlerini korur.
INFO
No Cache Varsayılan: Açık
Çerez içeren yanıtların önbelleğe alınmaması için Cache-Control: private veya no-cache başlığı ekler.
WARNING
Kapatıldığında, CDN veya proxy önbellekleri oturum çerezini diğer kullanıcılara iletebilir. Güvenlik için açık tutulması önerilir.
INFO
Mark As Post Only Varsayılan: Kapalı
Çerez yalnızca POST isteklerine verilen yanıtlarda eklenir. GET istekleri çerez almaz.
WARNING
Bu seçenek yalnızca No cache kapalıyken etkilidir; No cache açık olduğu sürece (varsayılan) yapılandırmaya yazılmaz ve hiçbir etkisi olmaz.
INFO
Preserve Cookie Varsayılan: Kapalı
Kurum Servisi kendi oturum çerezini gönderiyorsa, TR7 bu çereze dokunmaz.
TIP
Kurum Servisi kendi session management'ını yapıyorsa ve bu çerezin korunması gerekiyorsa aktif edilmesi önerilir.
INFO
Cookie Is Dynamic Varsayılan: Açık
Her Kurum Servisi için benzersiz bir çerez değeri oluşturur. Kurum Servisi IP ve port bilgileri temel alınarak dinamik değer üretilir.
Bu seçenek kapatılırsa çerez değeri otomatik üretilmez; bu durumda her Kurum Servisi tanımında Cookie content alanının doldurulmuş olması gerekir, aksi halde oturum devamlılığı çalışmaz.
TIP
Dinamik çerezler, Kurum Servisi bilgilerini gizler. Statik çerezlerde sunucu ID'si doğrudan görünür olabilir.
INFO
Max. Idle Time Varsayılan: Devre dışı
Çerezin boşta kalma (aktivite olmadan geçerli olma) süresi belirlenir. Birim olarak Seconds, Minutes veya Hours seçilebilir.
- Disabled: Boşta kalma süresi sınırı yoktur. Çerez, tarayıcı kapanana kadar geçerlidir.
- Enabled: Belirtilen süre boyunca aktivite olmazsa çerez geçersiz sayılır.
Örnek: 10 minutes: 10 dakika aktivite olmazsa farklı sunucuya yönlendirilebilir.
INFO
Max. Life Time Varsayılan: Devre dışı
Çerezin maksimum yaşam süresi belirlenir. Bu süre dolduğunda, aktivite olsa bile çerez geçersiz olur. Birim olarak Seconds, Minutes veya Hours seçilebilir.
- Disabled: Yaşam süresi sınırı yoktur.
- Enabled: Belirtilen süre sonunda çerez mutlaka yenilenir.
Örnek: 10 hours: 10 saat sonra kullanıcı farklı sunucuya yönlendirilebilir.
INFO
Cookie Attribute
Çereze eklenecek özel attribute'lar bu alanda tanımlanabilir. Boşlukla ayrılmış birden fazla attribute eklenebilir.
Örnek değerler:
| Attribute | Açıklama |
|---|---|
SameSite=Strict | CSRF koruması (aynı site zorunlu) |
SameSite=Lax | CSRF koruması (GET izinli) |
SameSite=None | Cross-site isteklere izin (Secure ile birlikte) |
TIP
Modern tarayıcılar SameSite attribute'u olmayan çerezleri SameSite=Lax olarak kabul eder. Cross-site senaryolar için açıkça belirtilmesi önerilir.
vService Persistence Ayarıyla Çakışma
Bu aksiyon, oturum devamlılığı tanımını bütün Kurum Servisi listelerine yazar. vService'in kendi Persistence ayarı çerez tabanlı bir yöntem kullanıyorsa (yeni çerez veya mevcut çerez), aynı havuza ikinci bir çerez tanımı daha yazılır ve hangisinin geçerli olacağı öngörülemez.
Bu aksiyon yalnızca vService persistence'ı kapalı olduğunda ya da çerez tabanlı olmayan bir yöntem (ör. hash tabanlı) kullanıldığında tanımlanmalıdır. Aynı vService'e birden fazla çerez bazlı devamlılık aksiyonu eklemek de aynı çakışmayı yaratır.
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
WARNING
Cookie Based Connection Persistency aksiyonu koşul gerektirmez ve tanımlandığı vService üzerinde koşulsuz (Always) olarak uygulanır.
Koşulsuz çalışan aksiyonlar, trafik içeriğine bağlı değerlendirme yapmadan, ilgili vService üzerindeki tüm trafiği veya davranışı doğrudan etkiler.
Canlı ortamlarda, bu tür aksiyonların devreye alınması öncesinde hedef servis davranışlarının ve olası etkilerin dikkatle değerlendirilmesi önerilir. Aksi durumda, beklenmeyen servis davranışları veya operasyonel sorunlar oluşabilir.
Operasyonel ve Güvenli Kullanım Önerileri
- Güvenlik flag'leri etkinleştirilir. Üretim ortamlarında HttpOnly ve Secure (HTTPS için) flag'leri etkinleştirilir; bu, çerez hırsızlığı riskini azaltır.
- Dinamik çerez kullanılır. Cookie Is Dynamic seçeneği etkin tutulur; bu, Kurum Servisi bilgilerini gizleyerek güvenlik sağlar.
- Uygun Timeout Değerleri Belirleyin. Max. idle time: kullanıcı aktivitesine göre (genellikle 15-30 dakika). Max. life time: güvenlik politikasına göre (genellikle 8-24 saat).
- No cache seçeneği açık tutulur. Oturum çerezlerinin önbelleklenmesini önlemek için No Cache seçeneği açık bırakılır.
- SameSite özniteliği eklenir. CSRF koruması için Cookie Attribute alanına
SameSite=Strictya daSameSite=Laxyazılır.
