Header 重写

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-delheader-add

S. Smart Rabbit LLC © All Rights Reserved            updated 2026-08-18 11:57:36

本页为英文版的翻译。如内容有出入,以英文版为准。

results matching ""

    No results matching ""