Dopasowanie i zamiana
Dopasowanie i zamiana automatycznie modyfikuje ruch przechodzący przez proxy bez wstrzymywania i konieczności ręcznego działania przy każdym żądaniu.
Jak działają reguły
Każda reguła określa, czego szukać i co z tym zrobić. Gdy żądanie lub odpowiedź spełnia warunki, reguła natychmiast stosuje transformację.
Reguły są stosowane w kolejności, w której pojawiają się na liście. Jeśli dwie reguły dotyczą tego samego nagłówka, najpierw stosowana jest pierwsza pasująca reguła, a kolejne widzą wynik tej zmiany.
Pola reguły
| Pole | Opis |
|---|---|
| Nazwa | Etykieta reguły. Użyj opisowej nazwy wskazującej jej cel. |
| Kierunek | Określa, czy reguła dotyczy żądań, odpowiedzi czy obu |
| Operacja | Transformacja do wykonania (zobacz tabelę operacji poniżej) |
| Tryb dopasowania | Dosłowny, wyrażenie regularne lub pełna zawartość, zależnie od operacji |
| Wartość dopasowania | Ciąg lub wzorzec do znalezienia |
| Wartość zastępująca | Wartość do podstawienia |
| Włączone | Przełącznik aktywujący lub dezaktywujący regułę bez jej usuwania |
| Filtry | Opcjonalne warunki metody, hosta, ścieżki i HTTPQL ograniczające zastosowanie reguły |
Operacje
| Operacja | Działanie |
|---|---|
| Dodaj nagłówek | Dodaje nowy nagłówek ze stałą nazwą i wartością |
| Usuń nagłówek | Usuwa nagłówek według nazwy |
| Zastąp nagłówek | Zastępuje wartość istniejącego nagłówka |
| Zastąp treść | Zastępuje część treści na podstawie wartości dopasowania |
| Ścieżka / zapytanie / parametr zapytania | Zmienia ścieżkę żądania lub wartości zapytania |
| Wiersz żądania / odpowiedzi | Zmienia wybrany składnik wiersza początkowego HTTP |
| Kod statusu | Zmienia status odpowiedzi |
| Surowa wiadomość | Przekształca razem wiersz początkowy HTTP, nagłówki i treść |
| Ładunek WebSocket | Zastępuje pasującą zawartość wiadomości klienta lub serwera |
| Przepływ pracy | Uruchamia włączony przepływ pracy typu Konwersja na wybranej zawartości |
Tryby dopasowania
Dosłowny dopasowuje dokładny ciąg. Używaj go dla stałych tokenów, nazw nagłówków lub konkretnych wartości.
Wyrażenie regularne dopasowuje za pomocą wyrażenia regularnego. Używaj go, gdy cel się zmienia — na przykład do dopasowania tokenu zmieniającego się przy każdej sesji lub do przechwycenia grupy i ponownego użycia jej w wartości zastępującej.
W zamianach opartych na wyrażeniach regularnych używaj grup przechwytujących $1, $2 itd., aby odwoływać się do dopasowanych fragmentów w wartości zastępującej.
Cała zawartość przekazuje całą wybraną zawartość do transformacji zamiast szukać podciągu. Niektóre operacje, takie jak dodawanie lub usuwanie nazwanego nagłówka, używają zamiast tego dosłownej nazwy i nie oferują wszystkich trybów.
Przekształcanie całej treści odpowiedzi
- Utwórz i włącz przepływ pracy typu Konwersja, a następnie sprawdź go z danymi testowymi.
- Utwórz regułę Dopasowanie i zamiana z kierunkiem Odpowiedź i operacją Przepływ pracy (treść).
- Wybierz tryb dopasowania Cała zawartość i wskaż przepływ pracy.
- Ogranicz regułę filtrem HTTPQL, na przykład:
text
req.host.eq:"cdn.example.com" AND (req.path.cont:".js" OR resp.headers["Content-Type"].value.cont:"javascript")Przepływ pracy otrzymuje całą treść; jego wynik zastępuje tę treść. Przepływ pracy (nagłówek) przekształca nazwany nagłówek, natomiast Przepływ pracy (surowe nagłówki) przekształca blok nagłówków. Są to dane wejściowe inne niż treść odpowiedzi.
Filtry HTTPQL są sprawdzane w dostępnym kontekście żądania i odpowiedzi. Reguła działająca w kierunku żądania nie może opierać się na odpowiedzi, która jeszcze nie nadeszła. Wyłącz rejestrowanie przepływu pracy, gdy reguła generuje dużą liczbę uruchomień; włącz je tymczasowo, aby zdiagnozować transformację.
Zmiana kolejności reguł
Przeciągnij wiersz reguły, aby zmienić jej pozycję na liście. Kolejność ma znaczenie, gdy reguły modyfikują nakładające się części tego samego żądania lub odpowiedzi.
Pomoc AI
W edytorze reguły opisz zwykłym językiem, co chcesz zmienić, i kliknij Wypełnij z AI. Ogma wygeneruje pola reguły na podstawie opisu. Sprawdź i dostosuj wygenerowane wartości przed włączeniem reguły.
Przykłady skutecznych poleceń:
- „Usuń nagłówek X-Frame-Options ze wszystkich odpowiedzi”
- „Zastąp wartość nagłówka Authorization moim tokenem testowym”
- „Dodaj nagłówek o nazwie X-Debug z wartością true do wszystkich żądań”
Testowanie reguły
Przed włączeniem reguły dla bieżącego ruchu przetestuj ją na przykładowym żądaniu:
- Otwórz edytor reguły.
- Wklej surowe żądanie HTTP do panelu testowego.
- Kliknij Zastosuj reguły. Panel pokaże wynik oraz zastosowane reguły.
- Sprawdź, czy wynik odpowiada oczekiwaniom.
- Włącz regułę.
Panel Test ma też cel Odpowiedź z polami statusu, nagłówków i treści. Sprawdź listę zastosowanych reguł: test obejmuje właściwe reguły, a nie tylko pojedyncze pole edytora.
Dopasowanie i zamiana a Przechwytywanie
Dopasowanie i zamiana działa automatycznie. Po włączeniu reguły przekształca każde pasujące żądanie lub odpowiedź bez twojego działania.
Przechwytywanie wstrzymuje ruch i czeka na ręczną decyzję. Używaj Przechwytywania, gdy właściwa zmiana zależy od kontekstu, który trzeba ocenić dla każdego żądania. Używaj Dopasowania i zamiany, gdy ta sama transformacja powinna być stosowana za każdym razem bez przeglądu.
Typowe zastosowania
- Podmiana ciasteczka sesyjnego we wszystkich żądaniach w celu przetestowania innego konta.
- Dodanie nagłówka włączającego tryb debugowania lub administratora.
- Usunięcie nagłówków bezpieczeństwa z odpowiedzi w celu oceny działania po stronie klienta.
- Zastąpienie hosta wpisanego na stałe w odpowiedziach przekierowujących.
- Przepisanie prefiksu ścieżki żądania.