ヘッダーリライト
Chuteはリクエストおよびレスポンスヘッダーを、サーバーやクライアントに転送する前にリライトできます。
1つのリクエストに複数のルールを適用できます。
例:
[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正規表現、アクションタイプ、ヘッダーフィールド、値。
リクエストヘッダーとレスポンスヘッダー
header-で始まるアクションはリクエストヘッダー(クライアントからサーバーへ)に適用されます。header-response-で始まるアクションはレスポンスヘッダー(サーバーからクライアントへ)に適用されます。
header-add
リクエストヘッダーに新しいヘッダー行を追加します。ヘッダーフィールドが既に存在する場合でも追加されます。
例:
[Header Rewrite]
^http://example.com header-add DNT 1
Before:
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
After:
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
Before:
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
After:
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
Before:
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
After:
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-addとheader-delを一緒に使用できます。
[Header Rewrite]
^http://example.com header-del DNT
^http://example.com header-add DNT 1