Réécriture d'en-tête

Chute peut réécrire les en-têtes de requête et de réponse avant leur transmission au serveur ou au client.

Plusieurs règles peuvent être appliquées à une même requête.

Exemple :

[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

La règle de réécriture comporte 4 parties : l'expression régulière d'URL, le type d'action, le champ d'en-tête et la valeur.

Remarque : l'expression régulière d'URL doit correspondre à l'URL de requête complète, et non à une simple sous-chaîne. Les motifs devraient généralement se terminer par .* afin que les URL comportant n'importe quel chemin et n'importe quelle chaîne de requête soient prises en compte.

En-têtes de requête et de réponse

Les actions préfixées par header- s'appliquent aux en-têtes de requête (du client vers le serveur). Celles préfixées par header-response- s'appliquent aux en-têtes de réponse (du serveur vers le client).

Un préfixe de direction facultatif de style Surge, http-request / http-response, placé avant l'expression régulière d'URL est également accepté, par ex. http-request ^http://example\.com.* header-replace Accept-Language en-us.

header-add

Définit un champ d'en-tête de la requête à la valeur indiquée. Si le champ existe déjà, il est écrasé.

Exemple :

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

Avant :
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

Après :
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

Supprime une ligne d'en-tête de l'en-tête de requête.

Exemple :

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

Avant :
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

Après :
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

Remplace la valeur d'un en-tête dans l'en-tête de requête. Si le champ d'en-tête n'existe pas, rien ne se passe.

Exemple :

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

Avant :
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

Après :
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

Remarque : header-replace ne fonctionne que si le champ d'en-tête existe déjà. Pour définir un champ d'en-tête quel que soit son état, utilisez header-add — il écrase tout champ existant portant le même nom, ce qui rend inutile la combinaison de header-del et header-add.

S. Smart Rabbit LLC © All Rights Reserved            updated 2026-08-19 16:21:25

results matching ""

    No results matching ""