Action'lar hangi sırayla çalışır; sırayı nasıl değiştiririm?
Kısa cevap
Aksiyonlar vService formundaki Actions alanının sırasıyla, yukarıdan aşağı çalışır; On Request aksiyonları istek aşamasında, On Response aksiyonları yanıt aşamasında kendi aralarında bu sırayla değerlendirilir. Sıra, Actions alanında aksiyon kartları sürüklenerek ya da WEB-CLI'da liste sırası yeniden yazılarak değiştirilir. Redirect to HTTPS, Advanced CAPTCHA ve Traffic Mirroring listedeki yerlerinden bağımsız olarak diğer istek aksiyonlarından sonra etkili olur.
Sorun: Aksiyonların Sırası Sonucu Değiştiriyor
TR7'de Conditions & Actions (F5 Local Traffic Policy / iRules, Citrix Responder / Rewrite policy benzeri) bir vService'te art arda uygulanır. Bir aksiyon isteği engeller ya da yönlendirirse sonraki istek aksiyonları o istek için çalışmaz; bir değişkeni yazan aksiyon da onu okuyan aksiyondan önce gelmelidir. Bu nedenle aksiyonların hangi sırayla çalıştığının bilinmesi ve gerektiğinde değiştirilmesi gerekir.
Sıranın İstisnaları
| Aksiyon | Çalıştığı yer |
|---|---|
| Redirect to HTTPS | Bütün istek aksiyonlarından sonra; daha aşağıdaki bir Block onu önler |
| Advanced CAPTCHA | Bütün istek aksiyonlarından sonra, istek Kurum Servisine yönlendirilirken |
| Traffic Mirroring | İstek bütün istek aksiyonlarından geçtikten sonra; isteği sonlandıran bir aksiyon kopyayı da önler |
| Advanced Traffic Inspection, Quarantine | İzleme (sayım) kısmı isteğin başında yapılır; Quarantine'in engelleme, yönlendirme ya da içerik gösterme kısmı listedeki yerinde çalışır |
| Manual Action | Çalıştığı yer aksiyonun Manual rule field ve Manual rule priority alanlarıyla belirlenir |
Çözüm: İki Yöntem
| Durumunuz | Uygun yöntem |
|---|---|
| Arayüzden | Yöntem 1: Actions alanında sürükle-bırak |
| Komut satırından | Yöntem 2: WEB-CLI ile liste sırasını yazmak |
Yöntem 1: Actions Alanında Sürükle-Bırak Önerilen
- Nasıl çalışır Actions alanındaki kartların sırası çalışma sırasıdır; kart başka bir kartın üzerine bırakılarak taşınır.
- Nerede açılır vService → Edit → Details → Actions · Left Monitor Panel → vService → Load Balancer Management → Actions → Edit
- Gereksinim vService'te en az iki aksiyon
- vService tipi HTTP · L7 TCP
Adım adım yapılandırma
Aksiyon kartı sürüklenip başka bir kartın üzerine bırakılır. Aşağı sürüklenen kart hedef kartın hemen altına, yukarı sürüklenen kart hedef kartın hemen üstüne yerleşir. Bir aksiyonu en sona almak için kartı × ile kaldırıp listeden yeniden seçmek de yeterlidir; yeniden seçilen kart listenin sonuna eklenir.
vService Save ile kaydedilir.
Doğrulama
vService'in Load Balancer Management sekmesindeki Actions bölümünde aksiyonların sırası görülür.
Yeni sıraYöntem 2: WEB-CLI ile Liste Sırasını Yazmak
- Nasıl çalışır vService'in aksiyon listesi
rulesalanında sırayla tutulur;--rules.No sıradaki aksiyonun yerine yazılan aksiyonu koyar. Yer değiştirecek bütün sıralar aynı komutta yazılır. - Nerede açılır TR7 WEB-CLI →
lb service show·lb service update - Gereksinim WEB-CLI erişimi
- vService tipi HTTP · L7 TCP
Adım adım yapılandırma
vService kaydında aksiyonlar sırayla listelenir; en üstteki aksiyon 0'dır (lb service).
lb service show <vService>Değişen her sıra için o sırada olması istenen aksiyon yazılır; yazılmayan sıralar olduğu gibi kalır. Örnek: ilk iki aksiyonun yerini değiştirmek için (önceden 0 = aksiyon-A, 1 = aksiyon-B):
lb service update id <vService> --rules.0 <aksiyon-B> --rules.1 <aksiyon-A>Doğrulama
lb service show çıktısında ya da vService'in Load Balancer Management sekmesindeki Actions bölümünde sıra yeniden kontrol edilir.
aksiyon-B, aksiyon-A, …Sık Yapılan Hatalar
- Details'teki Actions seçeneğini kapatıp açmak. vService formunda Actions modülü kapatılınca aksiyon listesi tamamen temizlenir; aksiyonların yeniden eklenmesi gerekir.
- Redirect to HTTPS'i en üste alıp önce çalışmasını beklemek. Redirect to HTTPS ve Advanced CAPTCHA diğer istek aksiyonlarından sonra etkili olur; listede daha aşağıdaki bir Block onları önler.
- İstek ve yanıt aksiyonlarını tek sıra sanmak. On request aksiyonları istek aşamasında, On response aksiyonları yanıt aşamasında kendi aralarında sıralanır; aynı listede karışık dursalar da birbirlerini beklemezler.
- Değişkeni okuyan aksiyonu yazan aksiyondan önce koymak. Set Variable on Hit ya da Create Traffic Variable ile yazılan değer, listede sonra gelen aksiyonlarda kullanılır.
- WEB-CLI'da yalnız taşınan aksiyonu yazmak.
--rules.0 <aksiyon-B>tek başına yazılırsa aksiyon-B listede iki kez geçeceği için komut reddedilir; yer değiştiren bütün sıralar aynı komutta yazılır.
Dokümantasyonda nasıl yapılır
