Skip to content
Smarter by Design.Simpler for Business

Actions ​

Actions Nedir? ​

Actions, TR7 Load Balancer üzerinden geçen HTTP ve L7 TCP trafiği üzerinde belirli işlemler gerçekleştiren, yeniden kullanılabilir trafik manipülasyon bileşenleridir.

Aksiyonlar, modern Load Balancer ve Application Delivery Controller (ADC) sistemlerinin temel yapı taşlarından biridir. Geleneksel sistemlerdeki script tabanlı trafik kurallarının TR7'deki GUI-tabanlı ve no-code/low-code karşılığıdır. İşlevsel olarak, "koşul sağlandığında ne yapılacağını" tanımlar ve trafiğin yaşam döngüsünde belirli noktalarda devreye girer.

Her Aksiyon, bir veya birden fazla vService üzerinde aktif hale getirilerek canlı trafiğe uygulanır. Aksiyonlar, Conditions ile birleştirilerek karmaşık trafik senaryolarına özel çözümler oluşturulmasını sağlar.

Neler Yapılabilir? ​

  • Güvenlik Kontrolü: Şüpheli trafiği engelleme, CAPTCHA doğrulaması, kullanıcı kimlik doğrulama
  • Trafik Yönlendirme: Coğrafi konum bazlı yönlendirme, hata kodlarına göre yönlendirme
  • İçerik Manipülasyonu: HTTP başlık ekleme/çıkarma/düzenleme, cookie şifreleme, içerik değiştirme, path/query manipülasyonu
  • Performans Optimizasyonu: Bant genişliği limitleme, TCP multiplexing, bağlantı yönetimi
  • İzleme ve Loglama: Detaylı trafik takibi, IPFIX entegrasyonu, koşullu log durdurma
  • Protokol Dönüşümü: HTTP'den HTTPS'e yönlendirme, CORS politikaları, HTTP/1.0 uyumluluğu

Aksiyonların Çalışma Prensibi ​

TR7 Aksiyonları, vService üzerinden geçen trafiğin yaşam döngüsünde belirli noktalarda devreye girer ve işlem yapar. Bu işlem noktası, aksiyonun Execution Level (Çalışma Anı) ile belirlenir.

On Request (İstek Üzerinde) ​

  • Aksiyonlar, istemciden gelen HTTP/TCP isteği Kurum Servisine ulaşmadan önce işlenir.
  • Bu seviyede yapılabilecek işlemler: Block, yönlendirme (Redirect), başlık ekleme/düzenleme, CAPTCHA doğrulaması, kullanıcı kimlik doğrulama, path değiştirme, bant genişliği limitleme.
  • Kullanım senaryosu: Güvenlik filtreleme, bot koruması, coğrafi kısıtlama, A/B testing.

On Response (Yanıt Üzerinde) ​

  • Aksiyonlar, Kurum Servisinden dönen HTTP/TCP yanıtı istemciye ulaşmadan önce işlenir.
  • Bu seviyede yapılabilecek işlemler: Yanıt başlık ekleme/düzenleme, içerik manipülasyonu, güvenlik başlıkları ekleme, sıkıştırma, cache header yönetimi.
  • Kullanım senaryosu: Güvenlik header'ları enjekte etme (CSP, HSTS), reklam ekleme, veri maskeleme, response rewriting.

Aksiyonların Koşullarla İlişkisi ​

Aksiyonlar, isteğe bağlı olarak bir veya birden fazla Conditions ile ilişkilendirilebilir. Koşullar, aksiyonun hangi durumlarda çalışacağını belirler:

  • Koşulsuz Aksiyon: Tüm trafik üzerinde her zaman çalışır. (Örnek: Tüm yanıtlara X-Frame-Options header ekle)
  • Koşullu Aksiyon: Sadece belirtilen koşullar sağlandığında çalışır. (Örnek: Sadece /admin path'ine gelen isteklerde IP kontrolü yap)

Birden fazla koşul, AND (tümü sağlanmalı) veya OR (en az biri sağlanmalı) operatörleri ile birleştirilebilir.

Aksiyon Sıralaması ve Öncelik ​

Bir vService üzerinde birden fazla Aksiyon tanımlanmışsa, aksiyonlar ekleme sırasına göre yukarıdan aşağıya işlenir. İlk aksiyon trafiği engellerse veya yönlendirirse, sonraki aksiyonlar ilgili istek için geçersiz olur.

Aksiyon Tipleri ve Kategorileri ​

TR7, farklı kullanım senaryolarına yönelik 36'dan fazla aksiyon tipi sunar. Bu aksiyonlar, işlevlerine göre aşağıdaki kategorilere ayrılabilir.

36+
Aksiyon Tipi
Trafik üzerinde işlem yapan hazır aksiyon tipleri
9
Kategori
Güvenlik, başlık, yönlendirme, içerik, cookie ve daha fazlası
On Req / On Res
Çalışma Anı
İstek veya yanıt üzerinde işlem yapılabilir
Conditions
Koşullarla Birleşim
Koşullar ile sınırsız trafik senaryosu kurulabilir

1. Güvenlik ve Erişim Kontrolü ​

  • Block: Belirli koşullara uyan trafiği engelleyerek HTTP status code (403, 404, vb.) ile yanıt verir. Kötü amaçlı IP engelleme, path bazlı kısıtlamalar için kullanılır.
  • Advanced Captcha: Bot/insan ayrımı için CAPTCHA doğrulaması gerektirir.
  • User Authentication (On HTTP Request): Basic Auth ile kimlik doğrulama yapar. Korunan kaynaklara erişimden önce kullanıcı adı/şifre ister.
  • Quarantine: Şüpheli kullanıcıları tanımlanan süre boyunca karantinaya alır.

2. HTTP Başlık Yönetimi ​

  • Add HTTP Header: İstek veya yanıta özel HTTP header ekler. X-Forwarded-For, X-Real-IP, özel tracking header'ları için kullanılır.
  • Delete HTTP Header: İstek veya yanıttan belirli HTTP header'ları kaldırır. Server header gizleme, güvenlik header temizleme için kullanılır.
  • Replace HTTP Header Content: Mevcut header değerlerinde regex ile eşleştirme yapıp değiştirir. Host header rewrite, URL normalizasyonu için kullanılır.
  • Set HTTP Header: Header'ı yeniden oluşturur veya değerini tamamen değiştirir. Conditional header setting için kullanılır.
  • Manage HTTP Security Headers: HSTS, CSP, X-Frame-Options, X-Content-Type-Options gibi güvenlik header'larını otomatik ekler. SSL Labs skorunu artırır.
  • Keep Header Names: Header isimlerinde case-sensitivity'yi korur. Legacy sistemlerle uyumluluk için kullanılır.

3. Trafik Yönlendirme ​

  • Location Redirection: HTTP 301/302/307/308 yönlendirmesi yapar. Domain değiştirme, path normalizasyonu, query parametresi ile yönlendirme için kullanılır.
  • Redirect to HTTPS: HTTP trafiğini HTTPS'e zorunlu yönlendirir. Güvenli bağlantı politikası için kullanılır.
  • Redirect for Backend Service Errors: Kurum Servisinden dönen hata kodlarına (500, 502, 503, vb.) göre kullanıcıyı başka bir URL'e yönlendirir.
  • Redirect for Traffic Manager Errors: TR7 Load Balancer seviyesindeki hatalarda (tüm kurum servisleri down, timeout, vb.) yönlendirme yapar.

4. İçerik Manipülasyonu ​

  • Show Content: Özel HTML/metin içerik gösterir. Bakım sayfası, uyarı mesajı, bilgilendirme sayfaları için kullanılır.
  • Show Content for Backend Service Errors: Kurum Servisi hata kodlarında özel sayfa gösterir. Kullanıcı dostu hata mesajları için kullanılır.
  • Show Content for Traffic Manager Errors: TR7 Load Balancer hata kodlarında özel sayfa gösterir.
  • Modify Response Content: HTML/JSON/XML yanıt içeriğinde regex ile değişiklik yapar. Dinamik içerik rewriting, veri maskeleme için kullanılır.
  • Set Path: HTTP request path'ini değiştirir. Kurum Servisi path normalizasyonu, versioning için kullanılır.
  • Set Path + Query: Path ve query string'i birlikte değiştirir. Karmaşık URL manipülasyonu için kullanılır.
  • URL Normalization: URL encoding/decoding ve normalizasyon yapar. Legacy sistem uyumluluğu için kullanılır.

6. Performans ve Bağlantı Yönetimi ​

7. Loglama ve İzleme ​

  • Advanced Traffic Inspection: Detaylı trafik analizi yapar. İstemci IP, path, header, query gibi bilgileri loglar.
  • IPFIX Log Sending: IPFIX formatında log gönderir. SIEM, NetFlow collector entegrasyonu için kullanılır.
  • Conditional Silent Log: Belirli koşullarda loglama'yı durdurur. Log storage optimizasyonu, hassas veri filtreleme için kullanılır.
  • IP Log Masking: Log'larda IP adreslerini maskeler.
  • Provide Prometheus Service: Prometheus metrics endpoint sunar. vService istatistiklerini Prometheus/Grafana ile izleme için kullanılır.
  • Traffic Mirroring: Eşleşen isteklerin bir kopyasını, canlı trafiği geciktirmeden ikinci bir Kurum Servisine (ayna hedefi) gönderir. Yeni sürüm testi (shadow testing), güvenlik analizi ve kapasite ölçümü için kullanılır.

8. Protokol ve Uyumluluk ​

  • CORS: Cross-Origin Resource Sharing header'larını yönetir. Modern web uygulamaları için CORS politikası uygular.
  • HTTP Header 1.0 Compatibility: HTTP/1.0 protokolü ile uyumluluk sağlar. Legacy sistemler için kullanılır.

9. Diğer ​

  • Create Traffic Variable: İşlenen trafiğe ait adlandırılmış değişkenler tanımlar; değişkenlere sabit metin ya da akıllı değişkenlerle üretilen dinamik değer atanır.
  • Manual Action

Aksiyonların Avantajları ​

TR7 Aksiyonları, geleneksel script tabanlı trafik yönetim yöntemlerine göre birçok operasyonel ve teknik avantaj sunar.

Kod Yazmaya Gerek Yok (No-Code/Low-Code) ​

  • Aksiyonlar tamamen GUI tabanlı bir arayüz üzerinden oluşturulur.
  • Herhangi bir programlama dili veya script yazma bilgisine gerek yoktur.
  • Ağ ve güvenlik ekiplerindeki geliştirici olmayan personel tarafından kolayca yönetilebilir.
  • Syntax hataları, derleme hataları veya runtime crash riski ortadan kalkar.

Merkezi ve Tek Noktadan Yönetim ​

  • Bir kez oluşturulan aksiyon, birden fazla vService üzerinde yeniden kullanılabilir.
  • Aksiyonda yapılan bir değişiklik, o aksiyonu kullanan tüm vService'lere otomatik olarak yansır.
  • Aksiyonun hangi vService'lerde kullanıldığı "Used in" özelliği ile kolayca izlenir.
  • Merkezi yönetim, configuration drift (yapılandırma tutarsızlığı) riskini minimize eder.

Yüksek Güvenilirlik ve Production-Safe ​

  • TR7 engine seviyesinde doğrulanan aksiyonlar, beklenmeyen davranış veya sistem çökmesi riskini ortadan kaldırır.
  • Aksiyonlar, production ortamına uygulanmadan önce test edilebilir ve gözden geçirilebilir.
  • Form validasyonu ile yanlış konfigürasyon önlenir (invalid IP, hatalı regex, uyumsuz değerler).
  • Aksiyonlar audit log'lara kaydedilir, kim ne zaman hangi değişikliği yaptı takip edilir.

Hızlı Deployment ve Değişiklik Yönetimi ​

  • Yeni bir güvenlik kuralı veya trafik politikası dakikalar içinde hayata geçirilebilir.
  • Scripting'de olduğu gibi kod review, test, deployment pipeline bekleme süresi yoktur.
  • Acil durumlarda (DDoS saldırısı, zero-day exploit) anında aksiyon alınabilir.

Koşullar ile Esnek ve Güçlü Kombinasyonlar ​

  • Aksiyonlar, Conditions ile birleştirildiğinde sınırsız senaryoya uygulanabilir.
  • "Eğer kaynak IP X ise ve path /admin ise ve saat 18:00-09:00 arasındaysa → Engelle" gibi karmaşık kurallar basit GUI ile oluşturulur.
  • AND/OR mantığı ile çok katmanlı koşul zincirleri kurulabilir.

Smart Variables ile Dinamik İçerik ​

  • Aksiyonlar içinde Variables kullanılarak dinamik değerler üretilebilir.
  • Örnek: X-Client-IP: [İstemci IP adresi] header'ı otomatik olarak her istemci için farklı değer alır.
  • Smart Variables, istemci IP'si, host, path, query parametreleri, cookie, header değerleri gibi 50+ veri noktasına erişim sağlar.

Yüksek Performans ve Ölçeklenebilirlik ​

  • Aksiyonlar, yüksek throughput ve düşük latency için optimize edilmiştir.
  • Büyük ölçekli deploymentlarda (yüksek trafikli web siteleri, enterprise uygulamalar) verimli çalışır.
  • Minimal sistem kaynağı tüketimi ile maksimum işlem kapasitesi sağlar.
  • Production ortamlarında stabil ve tutarlı performans sunar.

Operasyonel En İyi Uygulamalar ​

TR7 Aksiyonlarının production ortamlarında verimli ve güvenli kullanılması için aşağıdaki uygulamalar önerilir.

  • Açıklayıcı isimler kullanılır. Aksiyonun ne yaptığı adında net belirtilir; Action1, Test gibi anlamsız isimlerden kaçınılır.
  • İsimlendirme standardı oluşturulur. Tutarlılık için [Kategori]_[Amaç]_[Hedef] gibi bir format belirlenir ve ekip genelinde uygulanır.
  • Koşulsuz aksiyonlar dikkatli kullanılır. Tüm trafiği etkilediğinden performans maliyeti yüksek olabilir; yalnızca global işlemler için tercih edilir.
  • Aksiyonlar spesifik koşullarla daraltılır. Aksiyon yalnızca gerekli trafiğe uygulanır; tüm trafik yerine ilgili path/IP ile sınırlanır.
  • Regex kullanımı en aza indirilir. Regex CPU maliyeti yüksektir; mümkün olduğunda Exact Match, Start, End tercih edilir.
  • Aksiyon sayısı ve log hacmi iyileştirilir. Kullanılmayan aksiyonlar silinir, benzerleri birleştirilir; gereksiz loglar "Conditional Silent Log" ile filtrelenir.
  • Block aksiyonlarında anlamlı status code kullanılır. Senaryoya uygun 403/404/429/503 seçilerek bilgi sızdırılması önlenir ve doğru sinyal verilir.
  • Hassas bilgiler loglanmaz. IP adresleri için "IP Log Masking" kullanılır; password, token, API key gibi veriler log'lara yazdırılmaz.
  • Önce test ortamında denenir ve "Used in" kontrolü yapılır. Değişiklik öncesinde aksiyonun hangi vService'lerde kullanıldığı kontrol edilerek beklenmedik kesintiler önlenir.
  • Rollback planı ve monitoring kurulur. Önceki yapılandırma not alınır; aksiyon sonrasında hata oranı ve response time izlenir.
İsimlendirme Kuralları (örneklerle)

Açıklayıcı isimler kullanılır: Aksiyonun ne yaptığı adında net bir şekilde belirtilir.

  • ✅ İyi örnekler: Security_Block_MaliciousIPs, Redirect_HTTP_to_HTTPS, AddHeader_XForwardedFor
  • ❌ Kötü örnekler: Action1, Test, New_Action

İsimlendirme standardı oluşturulur: Tutarlılık için bir format belirlenir.

  • Format: [Kategori]_[Amaç]_[Hedef]
  • Örnek: Security_Block_AdminPath, Performance_Bandwidth_LimitAPI, Redirect_HTTPtoHTTPS_AllTraffic

Büyük/küçük harf kullanımına dikkat edilir: CamelCase ya da snake_case seçilir ve tutarlı biçimde sürdürülür.

Gerekiyorsa tarih veya sürüm eklenir: Geçici ya da test aksiyonları için.

  • Örnek: Test_CAPTCHA_2024Q1, Temporary_Block_MaintenanceMode_v2
Koşul Kullanımı Stratejileri

Koşulsuz aksiyonlar dikkatli kullanılır: Tüm trafiği etkiler, performans maliyeti yüksek olabilir.

  • Kullanım alanı: Güvenlik başlıkları ekleme, tüm trafiğe HTTPS yönlendirme gibi global işlemler.

Aksiyonlar spesifik koşullarla daraltılır: Yalnızca gerekli trafiğe uygulanır.

  • Örnek: IP kontrolü tüm trafiğe değil, yalnızca /admin path'ine uygulanır.

AND/OR kombinasyonları dikkatli kurulur:

  • AND (◆): Tüm koşullar sağlanmalı → Daha katı, daha az trafik eşleşir.
  • OR (◇): En az bir koşul sağlanmalı → Daha esnek, daha fazla trafik eşleşir.

Koşul sıralamasına dikkat edilir: Sık eşleşen koşullar öne alınır (early exit optimizasyonu).

Performance İpuçları

Regex kullanımı en aza indirilir: Regex işlemlerinin CPU maliyeti yüksektir.

  • Mümkün olduğunda Exact Match, Start, End tercih edilir.
  • Karmaşık regex yerine birden fazla basit koşul tercih edilir.

Aksiyon sayısı iyileştirilir: Her aksiyon ek işlem yükü getirir.

  • Gereksiz ya da kullanılmayan aksiyonlar silinir.
  • Benzer aksiyonlar tek aksiyonda birleştirilir.

Log hacmi denetlenir: Her istek için log yazılması disk I/O yükü getirir.

  • Gereksiz loglar "Conditional Silent Log" aksiyonu ile filtrelenir.
  • Yalnızca gerekli bilgiler loglanır.

Bandwidth limitleme ayarları doğru yapılandırılır: Çok agresif limitler kullanıcı deneyimini bozar.

Güvenlik Önerileri

Block aksiyonlarında anlamlı status code kullanılır:

  • 403 Forbidden: Yetki yok (IP engelleme, authentication gerekli)
  • 404 Not Found: Kaynak yokmuş gibi gösterilir (bilgi sızdırılması önlenir)
  • 429 Too Many Requests: Rate limiting
  • 503 Service Unavailable: Maintenance modu

Hassas bilgiler loglanmaz:

  • IP adresleri için "IP Log Masking" kullanılır.
  • Password, token, API key gibi bilgiler log'lara yazdırılmaz.

CAPTCHA ve Rate Limiting birlikte kullanılır: Katmanlı güvenlik için.

Production Deployment
  • Önce test ortamında denenir: Production'a geçilmeden önce aksiyon staging ortamında test edilir.
  • "Used in" kontrolü yapılır: Aksiyon değiştirilmeden önce hangi vService'lerde kullanıldığı kontrol edilir; bu, beklenmedik servis kesintilerini önler.
  • Değişiklik pencereleri kullanılır: Yoğun saatlerde aksiyon değişikliği yapılmaz.
  • Rollback planı hazır tutulur:
    • Önceki yapılandırma not alınır.
  • Monitoring ve alerting kurulur: Aksiyon sonrasında trafik izlenir.
    • Hata oranları arttı mı?
    • Response time değişti mi?

Yaygın Kullanım Senaryoları ​

Aşağıda, TR7 Aksiyonlarının canlı ortamlarda en sık kullanıldığı senaryolar yer almaktadır.

Güvenlik Senaryoları ​

WordPress Admin Paneli Koruma

/wp-admin ve /wp-login.php yollarına sadece ofis IP'lerinden erişim sağla.

  • Aksiyon: Block
  • Koşullar: Path = /wp-admin AND Source IP NOT IN 192.168.1.0/24
  • Sonuç: ✅ Ofis IP → Erişim sağlanır | ❌ Diğer IP'ler → 403 Forbidden
DDoS Koruması (Katmanlı)

Yüksek trafiği sınırla, şüpheli IP'leri engelle, abuse yapan kullanıcıları karantinaya al.

  • Aksiyon 1: Bandwidth Limitation → İstemci başına 10 Mbps
  • Aksiyon 2: Block → IP Intelligence = "Malicious"
  • Aksiyon 3: Quarantine → 1 dakikada 100+ istek yapan IP'ler
  • Sonuç: Sistemin yük altında bile stabil kalması sağlanır.
Bot Koruması

Kötü amaçlı botları tespit edip CAPTCHA ile doğrulama yap.

Trafik Yönlendirme ve A/B Testing ​

Beta Kullanıcı Testi

Beta kullanıcılarına özel versiyon sun.

  • Aksiyon: Set Path → /beta/app
  • Koşul: User Cookie Name = beta_user
  • Sonuç: Beta cookie'si olan kullanıcılar farklı Kurum Servisine yönlendirilir.

SSL/TLS ve Güvenlik Başlıkları ​

SSL Labs A+ Skoru: Güvenlik Başlıkları

HSTS, CSP, X-Frame-Options gibi güvenlik başlıklarını ekleyerek SSL Labs skorunu artır.

  • Aksiyon: Manage HTTP Security Headers
  • Başlıklar: HSTS + CSP + X-Frame-Options + X-Content-Type-Options
  • Sonuç: SSL Labs skoru A+ olur, XSS/Clickjacking koruması sağlanır.

Bakım ve Hata Yönetimi ​

Planlı Bakım Modu

Planlı bakım sırasında tüm kullanıcılara bilgilendirme sayfası göster.

  • Aksiyon: Show Content → Bakım sayfası HTML
  • Koşul: Tüm trafik (koşulsuz) veya belirli saat aralığı
  • Sonuç: Kullanıcılar bakım hakkında bilgilendirilir, servis kesintisi nazikçe duyurulur.
Sadece Ekip Erişimi (Bakım Sırasında)

Bakım sırasında sadece ofis IP'lerinden erişime izin ver.

  • Aksiyon: Show Content → Bakım sayfası
  • Koşul: Source IP NOT IN 192.168.10.0/24
  • Sonuç: ✅ Ekip → Normal erişim | ❌ Diğer → Bakım sayfası
Kurum Servisi Hataları için Kullanıcı Dostu Sayfa

500/502/503 hatalarında kullanıcıya özel hata sayfası göster.

  • Aksiyon: Show Content for Backend Service Errors
  • Status Codes: 500, 502, 503
  • İçerik: "Şu anda bir teknik sorun yaşıyoruz. Lütfen birkaç dakika sonra tekrar deneyin."
  • Sonuç: Teknik hata mesajları yerine kullanıcı dostu mesaj gösterilir.
Otomatik Yönlendirme

Ana Kurum Servisi down olduğunda trafiği farklı bir noktaya yönlendir.

  • Aksiyon: Redirect for Backend Service Errors
  • Status Codes: 502, 503
  • Yönlendirme: https://backup.example.com
  • Sonuç: High availability sağlanır, servis kesintisi minimize edilir.

Performans ve İzleme ​

API Rate Limiting

API endpoint'lerine bant genişliği limiti koy, abuse'i önle.

  • Aksiyon: Bandwidth Limitation → istemci başına 8 Mbps
  • Koşul: Path STARTS_WITH /api/
  • Sonuç: API'ye aşırı yük yapan kullanıcılar sınırlanır, fair usage sağlanır.
Prometheus ile vService İzleme

vService metriklerini Prometheus/Grafana ile izle.

Nasıl Eklenir? ​

Yeni bir Aksiyon, TR7 web yönetim arayüzü üzerinden aşağıdaki adımlar izlenerek eklenebilir:

  1. Sol altta bulunan TR7 logosuna tıklanarak Configuration Menu açılır.
  2. Load Balancer → Actions → Add adımları takip edilir.
  3. Aksiyon için benzersiz ve açıklayıcı bir isim girilir.
  4. Aksiyon tipi seçilir.
  5. Seçilen Aksiyon tipine göre ilgili değerler yapılandırılır.
  6. Add butonuna tıklanarak Aksiyon 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.

Oluşturulan Aksiyon, bir veya birden fazla vService üzerinde kullanılabilir.

Aksiyonları Listeleme Ekranı ​

Load Balancer → Actions yolu izlenerek TR7 cihazı üzerinde ekli olan tüm Aksiyonların listesine ulaşılır. Bu ekran üzerinde Aksiyon ekleme, düzenleme ve silme gibi işlemler yapılır.

Aksiyon Listeleme FormuAksiyon Listeleme Formu

Tablo varsayılan olarak şu kolonlarla açılır:

KolonAçıklama
Action NameAksiyona verilen ad.
Action TypeAksiyonun tipi (ör. Show Content, Advanced CAPTCHA, Location Redirection).
ConditionsAksiyonun bağlı olduğu koşulların kısa özeti (ör. ↓IP = 10.10.10.0/24 & ↓Path = /api); koşul almayan aksiyon tiplerinde -, koşul alabilen ama koşulu tanımlanmamış aksiyonlarda hücre boş kalır.

Varsayılan olarak gizlenen kolon bulunmaz; kolon seçicisinde bu üç kolon yer alır. Tablo açılışta sıralanmamıştır; bir kolon başlığına tıklandığında önce azalan, sonra artan sıralama uygulanır, üçüncü tıklamada sıralama kalkar.

Araç çubuğundaki öğeler soldan sağa aşağıdaki sırayla yer alır; son iki öğe (Page Information ve Page Size) tablonun altındaki bilgi şeridinde bulunur.

Columns ​

Tabloda hangi kolonların gösterileceği seçilir; üç kolon da varsayılan olarak açıktır. Aynı panelde kolonlar sürüklenerek yeniden sıralanır ve kolon başına hizalama seçilir; Fit rows to the page butonuyla satır yüksekliği sayfaya sığdırılır, Reset butonuyla kolon düzeni varsayılana alınır. Düzen kullanıcı bazında saklanır.

Filter ​

Filter butonu, listede gösterilen Aksiyonları belirli kriterlere göre süzmek için kullanılır; buton etkin filtre sayısını rozetle gösterir. Şeritte üç kart bulunur: Action Type, Condition Criteria ve Used in. Kart başlığında filtre adı ile değer sayısı yer alır; karta tıklandığında değerler satır sayılarıyla altında listelenir. Condition Criteria kartı Aksiyonları koşullarında kullanılan kriterlere göre gruplar: bir Aksiyon koşullarındaki her kriterin altında yer alır, koşulu olmayanlar No Condition, hazır koşullar Predefined Conditions altında toplanır. Used in kartı Aksiyonun kullanıldığı vService adlarını listeler; hiçbir vService'te kullanılmayan Aksiyonlar için Unused Entries seçeneği bulunur. Seçimler kart şeridinin altında, tablonun hemen üstünde kapatılabilir etiketler olarak görüntülenir.

Export ​

Export butonuna tıklanarak tablo Excel, CSV veya PDF olarak dışa aktarılır. Açılan pencerede Filename, Format ve Data Source ile dışa aktarılacak Columns belirlenir; kalan alanlar biçime göre görüntülenir: CSV'de CSV Separator, Excel'de Excel Sheet Name, PDF'te Page Orientation ve Page Size.

Add ​

Add butonuna tıklanarak yeni bir Aksiyon oluşturma formu Add sekmesinde açılır.

Delete ​

Bir veya birden fazla Aksiyon seçilip Delete butonuna tıklandığında ilgili Aksiyonlar silinir. Silmeden önce "Are you sure that you want to delete action object?" onayı istenir; birden fazla Aksiyon seçiliyse metin "Are you sure you want to delete N action objects?" olur.

WARNING

Onay penceresi Aksiyonun kullanım yerlerini göstermez. Silmeden önce önizleme panelindeki Used in sekmesiyle Aksiyonun hangi vService'lerde kullanıldığı kontrol edilmelidir.

Kullanımdaki bir Aksiyonun silinmesi engellenmez; Aksiyon, bağlı olduğu bütün vService'lerin aksiyon listesinden uyarı verilmeden çıkarılır.

Edit ​

Edit butonuna tıklanarak seçili Aksiyonun düzenleme formu Edit Action sekmesinde açılır. Buton yalnızca tek bir Aksiyon seçildiğinde etkinleşir.

Tablodaki tüm bilgilerde arama yapmak için kullanılır.

Tabloda bulunan tüm bilgilerde düzenli ifade (RegExp) ile arama yapmak için kullanılır. Sütun bazlı arama ya da kullanım filtresi etkinken bu buton gizlenir.

Tabloda bulunan bilgilerde sütun bazlı arama yapmak için kullanılır.

Usage Filter ​

Aksiyonların hangi vService'lere bağlı olduğunu filtrelemek için kullanılır; seçilen vService'te kullanılan Aksiyonlar listelenir, hiçbir vService'te kullanılmayanlar için Unused Entries seçeneği bulunur. Filtre etkinken arama kutusunun yerini seçici alır; simgeye yeniden tıklandığında arama kutusu geri döner.

Page Information ​

Tanımlı toplam Aksiyon sayısı ile listede görüntülenen Aksiyon sayısına ait bilgiler yer alır: Showing N-M of T records ve seçili Aksiyon sayısı (N selected, seçim yokken Nothing selected). Filtre şeridinde seçim yapılmışsa aynı satıra uygulanan filtre sayısı ile gösterilen/toplam satır bilgisi eklenir.

Page Size ​

Sayfada görüntülenecek maksimum Aksiyon sayısı seçilir. Varsayılan 100; seçenekler 5, 10, 20, 50, 100, 200, 500 ve All.

Sağ Tık Menüsü ​

Bir satıra sağ tıklandığında, başlığında Aksiyonun adı bulunan bir menü açılır. Menü açık kaldığı sürece sağ tıklanan satır vurgulu görüntülenir; sağ tıklama listedeki seçimi değiştirmez ve önizleme panelini açmaz. Menüdeki iki işlem de yalnızca sağ tıklanan Aksiyona uygulanır ve her satırda etkindir.

İşlemNe yapar
EditAksiyonun düzenleme formunu Edit Action sekmesinde açar; araç çubuğundaki Edit butonunun açtığı formun aynısıdır. Aksiyonun düzenleme sekmesi zaten açıksa yeni sekme açılmaz, açık sekmeye geçilir.
DeleteSağ tıklanan Aksiyonu siler; silmeden önce "Are you sure that you want to delete action object?" onayı istenir. Listede başka Aksiyonlar seçili olsa da yalnızca bu Aksiyon silinir. Kullanımdaki bir Aksiyonun silinmesi engellenmez; araç çubuğundaki Delete maddesinin uyarısı burada da geçerlidir.

Seçilen Aksiyonun Önizlemesi ​

Listede bir satıra tıklandığında ekranın sağında Aksiyonun önizlemesi açılır; seçili satıra yeniden tıklandığında panel kapanır. Başlıkta aksiyon simgesi, Aksiyonun adı ve Action alt başlığı, sağ üstte ise tek bir işlem bulunur.

Seçilen Aksiyonun ÖnizlemesiSeçilen Aksiyonun Önizlemesi

İşlemNe yapar
EditAksiyonun düzenleme formunu Edit Action sekmesinde açar.

Panelde dört sekme bulunur; Conditions yalnızca Aksiyonun koşulu varsa, Used in yalnızca Aksiyonu kullanan bir vService varsa görüntülenir:

Details

Aksiyonun ayarlarını satır satır listeler (aşağıdaki tablo).

Conditions

Aksiyonun bağlı olduğu koşulları ve AND/OR birleşim mantığını gösterir. Sekme adının yanındaki rozet koşul sayısını (karantina koşulu dahil) gösterir; koşul alabilen bir aksiyon tipinde en az bir koşul yoksa sekme hiç görüntülenmez.

Log

Aksiyon üzerindeki kullanıcı işlemlerini (ekleme, düzenleme, silme) zaman çizelgesi olarak listeler.

Used in

Aksiyonun kullanıldığı vService'leri listeler. Sekme adının yanındaki rozet kullanım sayısını gösterir; Aksiyonu kullanan bir vService yoksa sekme hiç görüntülenmez.

Details sekmesindeki satırlar sırasıyla aşağıdaki gibidir:

SatırAçıklamaGörünme koşulu
DescriptionAksiyonun tek cümlelik özeti; koşulu varsa koşulla başlar (ör. if … = 0: The Maintenance page is served with status 200).Her zaman
Action NameAksiyona verilen ad.Her zaman
Action TypeAksiyonun tipi.Her zaman
Execution LevelOn Request ya da On Response.Çalışma seviyesi seçilebilen aksiyon tiplerinde
Tipe özel satırlarAksiyon tipinin alanları (ör. Show Content için içerik önizlemesi, Status Code ve Content Type).Aksiyon tipine göre

"Used in" sekmesi mutlaka kontrol edilmelidir ​

Used in alanı, ilgili Aksiyonun hangi vService'ler üzerinde aktif olarak kullanıldığını gösterir. Bu bilgi, Aksiyon üzerinde yapılacak bir değişikliğin hangi servisleri etkileyeceğinin hızlı ve doğru şekilde analiz edilmesini sağlar. Özellikle canlı ortamlarda, Aksiyon ayarlarında yapılacak güncellemeler öncesinde olası servis etkilerinin değerlendirilmesi açısından kritik öneme sahiptir.

Sık Karşılaşılan Sorunlar ve Çözümleri ​

Aksiyonlar ile çalışırken karşılaşılan bazı yaygın sorunlar ve çözüm önerileri aşağıda yer almaktadır.

WARNING

Problem 1: Aksiyon Çalışmıyor ​

Belirti:

  • Aksiyon oluşturuldu ama trafikte hiçbir etki görülmüyor.
  • Beklenen davranış gerçekleşmiyor. (redirect, block, header eklenmiyor, vb.)

Kontrol Listesi:

✅ Aksiyon vService'e eklenmiş mi?

  • Aksiyonlar oluşturulduktan sonra mutlaka bir vService'e atanmalıdır.
  • Çözüm: vService → Details > Actions → Aksiyonu Seç/Ekle | "Used In" alanını kontrol et.

✅ Koşullar sağlanıyor mu?

  • Çözüm: Debug Mode aktif et → HTTP/TCP loglarını incele → Koşul kriterlerini gevşet ve tekrar test et.

✅ Execution Level doğru mu?

  • On Request: İstek Kurum Servisine gitmeden önce | On Response: Yanıt üzerinde
  • Çözüm: Response header eklemek için "On Response" seçilmeli.

✅ Aksiyon sıralaması doğru mu?

  • Aksiyonlar yukarıdan aşağıya işlenir, üstteki engellerse alttakiler çalışmaz.
  • Çözüm: Block/Redirect en altta | Header ekleme üstte.

✅ vService durumu aktif mi?

  • Çözüm: vService → Status = "Enabled" olmalı.

WARNING

Problem 2: Performance Düştü ​

Belirti:

  • Aksiyon eklendikten sonra response time arttı.
  • CPU/Memory kullanımı yükseldi.
  • Kurum Servisi timeout'lar başladı.

Kontrol Listesi:

✅ Regex kullanımı aşırı mı?

  • Çözüm: Exact match/starts_with kullan | Karmaşık regex'i sadece gerekli path'lerde uygula.

✅ Çok fazla aksiyon var mı?

  • Çözüm: Kullanılmayan aksiyonları sil | Benzer aksiyonları birleştir | Koşullarla daralt.

✅ Log volume çok yüksek mi?

  • Çözüm: "Conditional Silent Log" kullan | Debug mode sadece gerektiğinde | Log rotation ayarla.

✅ Bandwidth limiting agresif mi?

  • Çözüm: Limit değerlerini gözden geçir | Test client ile doğrula.

WARNING

Problem 3: Koşul Eşleşmiyor ​

Belirti:

  • Koşul doğru gibi görünüyor ama aksiyon tetiklenmiyor.
  • Bazı isteklerde çalışıyor, bazılarında çalışmıyor.

Kontrol Listesi:

✅ Case-sensitivity

  • Koşullar default case-sensitive → /Admin ≠ /admin
  • Çözüm: Case-insensitive seçeneğini aktif et.

✅ Smart Variable değeri beklenenden farklı

  • Çözüm: Debug log'larda değeri kontrol et | [Host] port içerebilir: example.com:443

✅ AND/OR operatörleri yanlış

  • AND: Tümü sağlanmalı | OR: En az biri sağlanmalı.
  • Çözüm: Mantığı doğrula, test case'leri yap.

WARNING

Problem 4: Beklenmeyen Davranış ​

Belirti:

  • Aksiyon farklı şekilde çalışıyor.
  • İstenen sonuç elde edilemiyor.

Kontrol Listesi:

✅ Aksiyon tipi doğru seçilmiş mi?

  • "Set Header" ≠ "Add Header" | "Redirect" ≠ "Rewrite Path"
  • Çözüm: Aksiyon dökümanını oku.

✅ Smart Variable formatı doğru mu?

  • Çözüm: Köşeli parantez kullan: [İstemci IP adresi] | Büyük/küçük harf eşleşmeli.

✅ Multiple aksiyonlar çakışıyor mu?

  • Çözüm: Aksiyon sıralamasını ve mantığını gözden geçir.

TIP

Debug İpuçları: Adım Adım Troubleshooting ​

1. Debug Mode Aktif Et

  • vService → Details → Debug Mode = Enabled
  • Debug Mode loglarında detaylı bilgi görünür.

2. Logları İncele

  • Monitor Mode → İlgili vService → Logs & Tracking → HTTP/TCP Logs

3. Traffic Inspection Kullan

  • "Advanced Traffic Inspection" aksiyonu ekle → Problemi reproduce et → Logları incele.

4. Test Client ile Kontrollü Test

  • curl/Postman ile spesifik istek gönder → Header/cookie manuel ekle → Expected vs Actual karşılaştır.

5. Incremental Testing

  • Tüm koşulları kaldır, sadece aksiyonu test et → Koşulları tek tek ekle → Hangisinde problem var bul.

6. "Used in" Kontrolü

  • Aksiyonun hangi vService'lerde kullanıldığını kontrol et → Yanlış vService'e eklenmiş olabilir.