Vyhledat a nahradit
Funkce Vyhledat a nahradit (Match & Replace) automaticky upravuje provoz při průchodu proxy bez pozastavení nebo ručního zásahu u každého požadavku.
Jak pravidla fungují
Každé pravidlo definuje, co hledat a co s tím provést. Když požadavek nebo odpověď odpovídá podmínkám, pravidlo ihned provede svou transformaci.
Pravidla se provádějí v pořadí, v jakém se zobrazují v seznamu. Pokud dvě pravidla cílí na stejnou hlavičku, první odpovídající pravidlo se provede jako první a následující pravidla již vidí výsledek této změny.
Pole pravidla
| Pole | Popis |
|---|---|
| Název | Označení pravidla. Použijte výstižný název určující jeho účel. |
| Směr | Zda se pravidlo vztahuje na požadavky, odpovědi nebo obojí |
| Operace | Jakou transformaci provést (viz tabulka operací níže) |
| Režim porovnání | Doslovně, regulární výraz nebo celý obsah podle operace |
| Hledaná hodnota | Řetězec nebo vzor, který se má najít |
| Náhradní hodnota | Hodnota, kterou se nalezený obsah nahradí |
| Zapnuto | Přepínač pro aktivaci nebo deaktivaci pravidla bez odstranění |
| Filtry | Volitelné podmínky metody, hostitele, cesty a HTTPQL omezující použití pravidla |
Operace
| Operace | Co dělá |
|---|---|
| Přidat hlavičku | Přidá novou hlavičku s pevným názvem a hodnotou |
| Odstranit hlavičku | Odstraní hlavičku podle názvu |
| Nahradit hlavičku | Nahradí hodnotu existující hlavičky |
| Nahradit tělo | Nahradí část těla podle hledané hodnoty |
| Cesta / dotaz / parametr dotazu | Změní cestu požadavku nebo hodnoty dotazu |
| Řádek požadavku / odpovědi | Změní vybranou část úvodního řádku HTTP |
| Stavový kód | Změní stav odpovědi |
| Surová zpráva | Transformuje společně úvodní řádek HTTP, hlavičky a tělo |
| Payload WebSocket | Nahradí odpovídající obsah zprávy klienta/serveru |
| Pracovní postup | Spustí povolený převodní pracovní postup nad vybraným obsahem |
Režimy shody
Režim Doslovně hledá přesný řetězec. Používejte jej pro pevné tokeny, názvy hlaviček nebo konkrétní hodnoty.
Regulární výraz hledá pomocí regulárního výrazu. Používejte jej, když se cíl mění – například pro token měnící se s každou relací nebo pro zachycení a opětovné použití skupiny v náhradě.
V náhradách regulárních výrazů odkazujte na zachycené části pomocí skupin $1, $2 atd. v náhradní hodnotě.
Celý obsah předává transformaci celý vybraný obsah místo hledání podřetězce. Některé operace, například přidání nebo odebrání pojmenované hlavičky, místo toho používají doslovný název a nenabízejí všechny režimy.
Transformace celého těla odpovědi
- Vytvořte a povolte převodní pracovní postup a ověřte jej na testovacím vstupu.
- Vytvořte pravidlo funkce Vyhledat a nahradit se směrem Odpověď a operací Pracovní postup (tělo).
- Zvolte režim shody Celý obsah a vyberte pracovní postup.
- Omezte pravidlo filtrem HTTPQL, například:
text
req.host.eq:"cdn.example.com" AND (req.path.cont:".js" OR resp.headers["Content-Type"].value.cont:"javascript")Pracovní postup obdrží celé tělo; jeho výstup toto tělo nahradí. Pracovní postup (hlavička) transformuje pojmenovanou hlavičku, zatímco Pracovní postup (nezpracované hlavičky) transformuje blok hlaviček. Jde o jiné vstupy než tělo odpovědi.
Filtry HTTPQL se vyhodnocují v dostupném kontextu požadavku a odpovědi. Pravidlo pro směr požadavku nemůže záviset na odpovědi, která ještě nepřišla. Pokud pravidlo vytváří velké množství běhů, vypněte protokolování pracovního postupu; dočasně je zapněte pro diagnostiku transformace.
Změna pořadí pravidel
Přetažením řádku pravidla změňte jeho pozici v seznamu. Pořadí je důležité, když pravidla upravují překrývající se části stejného požadavku nebo odpovědi.
Pomoc AI
V editoru pravidla použijte Vyplnit pomocí AI a běžným jazykem popište požadovanou změnu. Ogma podle popisu vygeneruje pole pravidla. Před povolením pravidla vygenerované hodnoty zkontrolujte a upravte.
Příklady vhodných zadání:
- „Odeberte hlavičku X-Frame-Options ze všech odpovědí“
- „Nahraďte hodnotu hlavičky Authorization mým testovacím tokenem“
- „Přidejte do všech požadavků hlavičku s názvem X-Debug a hodnotou true“
Testování pravidla
Před povolením pravidla pro živý provoz jej otestujte na vzorovém požadavku:
- Otevřete editor pravidla.
- Vložte surový požadavek HTTP do Testovacího panelu.
- Klikněte na Použít pravidla. Panel zobrazí výsledek a použitá pravidla.
- Ověřte, že výstup odpovídá očekávání.
- Povolte pravidlo.
Testovací panel nabízí také cíl Odpověď se vstupy pro stav, hlavičky a tělo. Zkontrolujte seznam použitých pravidel: testují se příslušná pravidla, nikoli pouze izolované pole editoru.
Vyhledat a nahradit a Zachytávání
Vyhledat a nahradit pracuje automaticky. Jakmile je pravidlo povoleno, transformuje každý odpovídající požadavek nebo odpověď bez vašeho zásahu.
Zachytávání pozastavuje provoz a čeká na ruční rozhodnutí. Použijte Zachytávání, když správná změna závisí na kontextu, který musíte vyhodnotit pro každý požadavek. Funkci Vyhledat a nahradit použijte, když se má stejná transformace provést pokaždé bez kontroly.
Běžné použití
- Vyměňte cookie relace ve všech požadavcích pro testování jiného účtu.
- Přidejte hlavičku zapínající ladicí nebo administrátorský režim.
- Odeberte bezpečnostní hlavičky z odpovědí pro vyhodnocení chování na straně klienta.
- Nahraďte pevně zadaného hostitele v odpovědích s přesměrováním.
- Přepište předponu cesty požadavku.