Trova e sostituisci
Trova e sostituisci modifica automaticamente il traffico mentre attraversa il proxy, senza pause né interventi manuali su ogni richiesta.
Come funzionano le regole
Ogni regola definisce cosa cercare e cosa farne. Quando una richiesta o risposta corrisponde alle condizioni, la regola applica immediatamente la sua trasformazione.
Le regole si applicano nell'ordine in cui appaiono nell'elenco. Se due regole agiscono sulla stessa intestazione, la prima regola corrispondente viene applicata per prima e quelle successive vedono il risultato della modifica.
Campi di una regola
| Campo | Descrizione |
|---|---|
| Nome | Etichetta della regola. Usa un nome descrittivo per identificarne la finalità. |
| Direzione | Se la regola si applica a richieste, risposte o entrambe |
| Operazione | Quale trasformazione eseguire (vedi la tabella delle operazioni sotto) |
| Modalità di corrispondenza | Letterale, espressione regolare o contenuto completo, a seconda dell'operazione |
| Valore da trovare | La stringa o il pattern da cercare |
| Valore sostitutivo | Il valore da inserire come sostituzione |
| Attivato | Interruttore per attivare o disattivare la regola senza eliminarla |
| Filtri | Condizioni facoltative di metodo, host, percorso e HTTPQL che limitano dove si applica la regola |
Operazioni
| Operazione | Cosa fa |
|---|---|
| Aggiungi intestazione | Aggiunge una nuova intestazione con nome e valore fissi |
| Rimuovi intestazione | Elimina un'intestazione per nome |
| Sostituisci intestazione | Sostituisce il valore di un'intestazione esistente |
| Sostituisci corpo | Sostituisce una parte del corpo usando il valore da trovare |
| Percorso / query / parametro di query | Cambia il percorso della richiesta o i valori della query |
| Riga di richiesta / risposta | Cambia il componente selezionato della riga iniziale HTTP |
| Codice di stato | Cambia lo stato di una risposta |
| Messaggio grezzo | Trasforma insieme la riga iniziale HTTP, le intestazioni e il corpo |
| Payload WebSocket | Sostituisce il contenuto corrispondente dei messaggi del client/server |
| Flusso di lavoro | Esegue un flusso di tipo Converti attivato sul contenuto selezionato |
Modalità di corrispondenza
Letterale corrisponde alla stringa esatta. Usala per token fissi, nomi di intestazioni o valori specifici.
Espressione regolare cerca corrispondenze usando un'espressione regolare. Usala quando il target varia, ad esempio per trovare un token che cambia a ogni sessione o per acquisire e riutilizzare un gruppo nella sostituzione.
Nelle sostituzioni con espressioni regolari, usa i gruppi di cattura con $1, $2, ecc. per referenziare le parti corrispondenti nel valore sostitutivo.
Completa passa tutto il contenuto selezionato alla trasformazione anziché cercare una sottostringa. Alcune operazioni, come aggiungere/rimuovere un'intestazione con nome, usano invece un nome letterale e non offrono tutte le modalità.
Trasformare un corpo di risposta completo
- Crea e attiva un flusso di tipo Converti, quindi validalo con dati di prova.
- Crea una regola di Trova e sostituisci con direzione Risposta e operazione Flusso di lavoro (corpo).
- Scegli la modalità di corrispondenza Completa e seleziona il flusso.
- Limita la regola con un filtro HTTPQL, ad esempio:
text
req.host.eq:"cdn.example.com" AND (req.path.cont:".js" OR resp.headers["Content-Type"].value.cont:"javascript")Il flusso riceve l'intero corpo; il suo output sostituisce quel corpo. Flusso di lavoro (intestazione) trasforma un'intestazione con nome, mentre Flusso di lavoro (intestazioni grezze) trasforma il blocco delle intestazioni. Sono input diversi dal corpo della risposta.
I filtri HTTPQL vengono verificati nel contesto di richiesta/risposta disponibile. Una regola con direzione richiesta non può dipendere da una risposta che non è ancora arrivata. Disattiva la registrazione del flusso quando la regola produce un volume elevato di esecuzioni; attivala temporaneamente per diagnosticare una trasformazione.
Riordinare le regole
Trascina una riga di regola per riposizionarla nell'elenco. L'ordine conta quando le regole modificano parti sovrapposte della stessa richiesta o risposta.
Assistenza IA
Fai clic su Assistenza IA nell'editor della regola e descrivi in linguaggio naturale cosa vuoi cambiare. Ogma genera i campi della regola in base alla descrizione. Esamina e modifica i valori generati prima di attivare la regola.
Esempi di istruzioni efficaci:
- "Rimuovi l'intestazione X-Frame-Options da tutte le risposte"
- "Sostituisci il valore dell'intestazione Authorization con il mio token di prova"
- "Aggiungi un'intestazione chiamata X-Debug con valore true a tutte le richieste"
Testare una regola
Prima di attivare una regola per il traffico reale, testala con una richiesta di esempio:
- Apri l'editor della regola.
- Incolla una richiesta HTTP grezza nel pannello Test.
- Fai clic su Applica regole. Il pannello mostra il risultato e quali regole sono state applicate.
- Verifica che l'output corrisponda alle aspettative.
- Attiva la regola.
Il pannello Test ha anche un target Risposta con input di stato, intestazioni e corpo. Controlla l'elenco delle regole applicate: vengono testate le regole applicabili, non solo un campo isolato dell'editor.
Trova e sostituisci e Intercettazione
Trova e sostituisci è automatico. Quando una regola è attiva, trasforma ogni richiesta o risposta corrispondente senza alcun intervento da parte tua.
Intercettazione mette in pausa il traffico e attende una decisione manuale. Usa Intercettazione quando la modifica corretta dipende da un contesto da valutare per ogni richiesta. Usa Trova e sostituisci quando la stessa trasformazione deve applicarsi ogni volta senza esame manuale.
Usi comuni
- Sostituire un cookie di sessione in tutte le richieste per testare un altro account.
- Aggiungere un'intestazione che attiva una modalità di debug o amministrazione.
- Rimuovere intestazioni di sicurezza dalle risposte per valutare il comportamento lato client.
- Sostituire un host codificato in modo fisso nelle risposte di reindirizzamento.
- Riscrivere un prefisso del percorso di richiesta.