Перезапись заголовков

Chute может перезаписывать заголовки запросов и ответов до их отправки на сервер или клиенту.

К одному запросу может быть применено несколько правил.

Пример:

[Header Rewrite]
^http://example\.com.* header-add DNT 1
^http://example\.com.* header-del Cookie
^http://example\.com.* header-replace User-Agent Unknown
^http://example\.com.* header-response-add X-Server rack3
^http://example\.com.* header-response-del X-Powered-By
^http://example\.com.* header-response-replace Server nginx

Правило перезаписи состоит из 4 частей: регулярное выражение URL, тип действия, поле заголовка и значение.

Внимание: Регулярное выражение URL должно совпадать с полным URL запроса, а не только с его подстрокой. Шаблоны обычно должны заканчиваться на .*, чтобы совпадали URL с любым путем и строкой запроса.

Заголовки запросов и ответов

Действия с префиксом header- применяются к заголовкам запросов (от клиента к серверу). Действия с префиксом header-response- применяются к заголовкам ответов (от сервера к клиенту).

Также принимается необязательный префикс направления в стиле Surge http-request / http-response, помещаемый перед регулярным выражением URL, например http-request ^http://example\.com.* header-replace Accept-Language en-us.

header-add

Устанавливает поле заголовка запроса в заданное значение. Если поле заголовка уже существует, оно перезаписывается.

Пример:

[Header Rewrite]
^http://example\.com.* header-add DNT 1

До:
GET /index.html HTTP/1.1
Host: example.com
Connection: keep-alive
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_4) AppleWebKit/603.1.30 (KHTML, like Gecko) Version/10.1 Safari/603.1.30
Accept-Language: en-us
Accept-Encoding: gzip, deflate

После:
GET /index.html HTTP/1.1
Host: example.com
Connection: keep-alive
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_4) AppleWebKit/603.1.30 (KHTML, like Gecko) Version/10.1 Safari/603.1.30
Accept-Language: en-us
Accept-Encoding: gzip, deflate
DNT: 1

header-del

Удаляет строку заголовка из заголовка запроса.

Пример:

[Header Rewrite]
^http://example\.com.* header-del DNT

До:
GET /index.html HTTP/1.1
Host: example.com
Connection: keep-alive
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_4) AppleWebKit/603.1.30 (KHTML, like Gecko) Version/10.1 Safari/603.1.30
Accept-Language: en-us
Accept-Encoding: gzip, deflate
DNT: 1

После:
GET /index.html HTTP/1.1
Host: example.com
Connection: keep-alive
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_4) AppleWebKit/603.1.30 (KHTML, like Gecko) Version/10.1 Safari/603.1.30
Accept-Language: en-us
Accept-Encoding: gzip, deflate

header-replace

Заменяет значение заголовка в заголовке запроса. Если поле заголовка не существует, ничего не происходит.

Пример:

[Header Rewrite]
^http://example\.com.* header-replace DNT 1

До:
GET /index.html HTTP/1.1
Host: example.com
Connection: keep-alive
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_4) AppleWebKit/603.1.30 (KHTML, like Gecko) Version/10.1 Safari/603.1.30
Accept-Language: en-us
Accept-Encoding: gzip, deflate
DNT: 0

После:
GET /index.html HTTP/1.1
Host: example.com
Connection: keep-alive
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_4) AppleWebKit/603.1.30 (KHTML, like Gecko) Version/10.1 Safari/603.1.30
Accept-Language: en-us
Accept-Encoding: gzip, deflate
DNT: 1

Внимание: header-replace работает только тогда, когда поле заголовка уже существует. Чтобы установить поле заголовка независимо от того, существует ли оно, используйте header-add — оно перезаписывает любое существующее поле с тем же именем, поэтому комбинировать header-del и header-add не нужно.

S. Smart Rabbit LLC © All Rights Reserved            updated 2026-08-11 16:08:42

Эта страница — перевод английской версии. При расхождениях приоритет имеет английская версия.

results matching ""

    No results matching ""