Пошук і заміна
Пошук і заміна автоматично змінює трафік під час проходження через проксі без призупинення й ручних дій для кожного запиту.
Як працюють правила
Кожне правило визначає, що шукати й що з цим робити. Коли запит або відповідь відповідає умовам, правило негайно застосовує перетворення.
Правила застосовуються за порядком у списку. Якщо два правила націлені на той самий заголовок, перше відповідне правило діє першим, а наступні бачать результат його зміни.
Поля правила
| Поле | Опис |
|---|---|
| Назва | Назва правила. Використовуйте описову назву, щоб позначити призначення. |
| Напрямок | Застосування до запитів, відповідей або обох |
| Операція | Перетворення для виконання (див. таблицю нижче) |
| Режим збігу | Буквальний, регулярний вираз або повний вміст залежно від операції |
| Значення пошуку | Рядок або шаблон, який потрібно знайти |
| Значення заміни | Значення для підстановки |
| Увімкнено | Перемикач активації й деактивації правила без видалення |
| Фільтри | Необов’язкові умови методу, хоста, шляху й HTTPQL, що обмежують застосування |
Операції
| Операція | Що робить |
|---|---|
| Додати заголовок | Додає новий заголовок із фіксованими назвою й значенням |
| Видалити заголовок | Видаляє заголовок за назвою |
| Замінити заголовок | Замінює значення наявного заголовка |
| Замінити тіло | Замінює частину тіла за значенням пошуку |
| Шлях / параметри URL / параметр URL | Змінює шлях запиту або значення параметрів |
| Рядок запиту / відповіді | Змінює вибраний компонент початкового рядка HTTP |
| Код статусу | Змінює статус відповіді |
| Необроблене повідомлення | Перетворює початковий рядок HTTP, заголовки й тіло разом |
| Дані WebSocket | Замінює відповідний вміст повідомлень клієнта або сервера |
| Робочий процес | Виконує ввімкнений процес перетворення над вибраним вмістом |
Режими збігу
Буквальний пошук зіставляє точний рядок. Використовуйте для фіксованих токенів, назв заголовків або певних значень.
Регулярний вираз зіставляє за регулярним виразом. Використовуйте, якщо ціль змінюється: наприклад, для токена, що змінюється в кожному сеансі, або для захоплення й повторного використання групи в заміні.
У замінах за регулярними виразами використовуйте групи $1, $2 тощо для посилання на знайдені частини в значенні заміни.
Повна заміна передає весь вибраний вміст до перетворення замість пошуку підрядка. Деякі операції, як-от додавання або видалення іменованого заголовка, натомість використовують буквальну назву й не пропонують усіх режимів.
Перетворення повного тіла відповіді
- Створіть і ввімкніть процес типу Перетворити, потім перевірте його тестовими вхідними даними.
- Створіть правило пошуку й заміни з напрямком Відповідь та операцією Робочий процес (тіло).
- Виберіть режим збігу Повна заміна і робочий процес.
- Звузьте правило фільтром HTTPQL, наприклад:
text
req.host.eq:"cdn.example.com" AND (req.path.cont:".js" OR resp.headers["Content-Type"].value.cont:"javascript")Процес отримує все тіло; його результат замінює це тіло. Робочий процес (заголовок) перетворює іменований заголовок, а Робочий процес (необроблені заголовки) — блок заголовків. Це інші вхідні дані, ніж тіло відповіді.
Фільтри HTTPQL перевіряються в доступному контексті запиту й відповіді. Правило для запиту не може покладатися на відповідь, що ще не надійшла. Вимикайте журналювання процесу, якщо правило створює багато запусків; тимчасово вмикайте для діагностики перетворення.
Зміна порядку правил
Перетягніть рядок правила на інше місце в списку. Порядок важливий, якщо правила змінюють частини одного запиту чи відповіді, що перетинаються.
Допомога ШІ
Натисніть Заповнити за допомогою ШІ в редакторі правила й опишіть звичайною мовою, що хочете змінити. Ogma створить поля правила за описом. Перевірте й скоригуйте згенеровані значення перед увімкненням.
Приклади вдалих запитів:
- «Прибери заголовок X-Frame-Options з усіх відповідей»
- «Заміни значення заголовка Authorization моїм тестовим токеном»
- «Додай заголовок X-Debug зі значенням true до всіх запитів»
Перевірка правила
Перед увімкненням правила для реального трафіку перевірте його на прикладі запиту:
- Відкрийте редактор правила.
- Вставте HTTP-запит у необробленому текстовому форматі в розділі Панель перевірки.
- Натисніть Застосувати правила. Панель покаже результат і застосовані правила.
- Переконайтеся, що результат відповідає очікуванням.
- Увімкніть правило.
Панель тесту також має ціль Відповідь із полями статусу, заголовків і тіла. Перевіряйте список застосованих правил: тестуються відповідні правила, а не лише окреме поле редактора.
«Пошук і заміна» та «Перехоплення»
Пошук і заміна працює автоматично. Після ввімкнення правило перетворює кожен відповідний запит або відповідь без ваших дій.
Перехоплення призупиняє трафік і чекає ручного рішення. Використовуйте його, коли правильна зміна залежить від контексту окремого запиту. Пошук і заміна підходить, коли те саме перетворення має застосовуватися щоразу без перевірки.
Типові випадки використання
- Замінити cookie сеансу в усіх запитах для перевірки іншого облікового запису.
- Додати заголовок, що вмикає режим налагодження або адміністратора.
- Прибрати захисні заголовки з відповідей для оцінки поведінки клієнта.
- Замінити жорстко заданий хост у відповідях перенаправлення.
- Переписати префікс шляху запиту.