1 <?xml version="1.0" encoding="ISO-8859-1"?>
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3 <html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head><!--
4 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
5 This file is generated from xml source: DO NOT EDIT
6 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
8 <title>mod_remoteip - Serveur Apache HTTP</title>
9 <link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
10 <link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
11 <link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
12 <link href="../images/favicon.ico" rel="shortcut icon" /></head>
14 <div id="page-header">
15 <p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p>
16 <p class="apache">Serveur Apache HTTP Version 2.5</p>
17 <img alt="" src="../images/feather.gif" /></div>
18 <div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div>
20 <a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Modules</a></div>
21 <div id="page-content">
22 <div id="preamble"><h1>Module Apache mod_remoteip</h1>
24 <p><span>Langues Disponibles: </span><a href="../en/mod/mod_remoteip.html" hreflang="en" rel="alternate" title="English"> en </a> |
25 <a href="../fr/mod/mod_remoteip.html" title="Français"> fr </a></p>
27 <table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Remplace l'adresse IP et le nom d'hôte apparents du client
28 pour la requête par l'adresse IP présentée par un mandataire ou un
29 répartiteur de charge via les en-têtes de la requête.
31 <tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Base</td></tr>
32 <tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>remoteip_module</td></tr>
33 <tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_remoteip.c</td></tr></table>
36 <p>Ce module permet de traiter l'hôte distant qui a initié la
37 requête en tant qu'hôte distant original du point de vue de httpd à
38 des fins d'autorisation et de connexion, même si cet hôte distant se
39 trouve derrière un répartiteur de charge, un serveur frontal, ou un
40 serveur mandataire.</p>
42 <p>Le module remplace les adresse IP et nom d'hôte apparents
43 distants (du client) pour la requête par l'adresse IP indiquée dans
44 l'en-tête de requête configuré via la directive
45 <code class="directive">RemoteIPHeader</code>.</p>
47 <p>Une fois remplacée comme indiqué, cette adresse IP apparente est
48 utilisée pour les fonctionnalités <code class="directive"><a href="../mod/mod_authz_host.html#require host"><Require host></a></code> et <code class="directive"><a href="../mod/mod_authz_host.html#require ip"><Require ip></a></code> de
49 <code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code> ; elle est aussi affichée par
50 <code class="module"><a href="../mod/mod_status.html">mod_status</a></code>, et enregistrée via les directives
51 <code>%a</code> et <code>%h</code> du module
52 <code class="module"><a href="../mod/mod_log_config.html">mod_log_config</a></code>. Elle permet aussi d'identifier la
53 machine en essayant de lui attribuer une identité inetd via le
54 module <code class="module"><a href="../mod/mod_ident.html">mod_ident</a></code> et en fonction de la configuration
55 de la directive <code class="directive"><a href="../mod/mod_ident.html#identitycheck">IdentityCheck</a></code>.</p>
57 <div class="warning">Il est essentiel de n'activer cette
58 fonctionnalité que pour les requêtes en provenance des serveurs
59 intermédiaires (mandataires, etc...) auxquels le serveur peut faire
60 confiance, car il est trivial pour le client distant d'usurper
61 l'identité d'un autre client.</div>
63 <div id="quickview"><h3 class="directives">Directives</h3>
65 <li><img alt="" src="../images/down.gif" /> <a href="#remoteipheader">RemoteIPHeader</a></li>
66 <li><img alt="" src="../images/down.gif" /> <a href="#remoteipinternalproxy">RemoteIPInternalProxy</a></li>
67 <li><img alt="" src="../images/down.gif" /> <a href="#remoteipinternalproxylist">RemoteIPInternalProxyList</a></li>
68 <li><img alt="" src="../images/down.gif" /> <a href="#remoteipproxiesheader">RemoteIPProxiesHeader</a></li>
69 <li><img alt="" src="../images/down.gif" /> <a href="#remoteiptrustedproxy">RemoteIPTrustedProxy</a></li>
70 <li><img alt="" src="../images/down.gif" /> <a href="#remoteiptrustedproxylist">RemoteIPTrustedProxyList</a></li>
74 <li><img alt="" src="../images/down.gif" /> <a href="#processing">Traitement des adresses distantes</a></li>
75 </ul><h3>Voir aussi</h3>
77 <li><code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code></li>
78 <li><code class="module"><a href="../mod/mod_status.html">mod_status</a></code></li>
79 <li><code class="module"><a href="../mod/mod_log_config.html">mod_log_config</a></code></li>
80 <li><code class="module"><a href="../mod/mod_ident.html">mod_ident</a></code></li>
82 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
84 <h2><a name="processing" id="processing">Traitement des adresses distantes</a></h2>
86 <p>Apache identifie le client par la valeur remote_ip de la
87 connexion, et de cette valeur découlent les valeurs remote_host et
88 remote_logname de la connexion. Ces champs jouent un rôle
89 dans l'authentification, l'autorisation et la connexion, ainsi que
90 dans d'autres traitements effectués par d'autres modules
93 <p>mod_remoteip remplace la véritable remote_ip par la remote_ip
94 indiquée par exemple par un mandataire chaque fois que le serveur
95 effectue une évaluation du client, et réinitialise les valeurs de
96 remote_host et remote_logname afin de déclencher une nouvelle
97 requête dns ou ident sur l'adresse IP distante.</p>
99 <p>Lorsque la valeur de l'en-tête comporte plusieurs adresses IP
100 distantes séparées par des virgules, celles-ci sont traitées de la
101 droite vers la gauche. Le traitement s'arrête lorsque l'adresse IP
102 distante courante n'est pas digne de confiance pour présenter
103 l'adresse IP précédente. Le champ d'en-tête est alors mis à jour de
104 façon à ne contenir que cette liste d'adresses non confirmées, ou
105 bien, si toutes les adresses IP sont dignes de confiance, cet
106 en-tête est tout bonnement supprimé de la requête.</p>
108 <p>Lors du remplacement de l'adresse IP distante, le module stocke
109 la liste des hôtes intermédiaires dans un mémo
110 remoteip-proxy-ip-list, que l'on peut faire enregistrer par
111 <code class="module"><a href="../mod/mod_log_config.html">mod_log_config</a></code> en utilisant le symbole de format
112 <code>%{remoteip-proxy-ip-list}n</code>. Si l'administrateur doit
113 stocker ceci dans un en-tête additionnel, la même valeur peut aussi
114 être enregistrée sous la forme d'un en-tête en utilisant la
115 directive <code class="directive">RemoteIPProxiesHeader</code>.</p>
117 <div class="note"><h3>Adresses IPv4 converties au format IPv6</h3>
118 Avec httpd, d'une manière générale, toute adresse IPv4 convertie au
119 format IPv6 est enregistrée sous sa forme IPv4.</div>
121 <div class="note"><h3>Adresses internes (privées)</h3>
122 Tous les blocs d'adresses internes 10/8, 172.16/12, 192.168/16,
123 169.254/16 and 127/8 (ainsi que les adresses IPv6 en dehors du bloc
124 public 2000::/3 block) ne sont évaluées par mod_remoteip que lorsque
125 des mandataires internes (intranet)
126 <code class="directive">RemoteIPInternalProxy</code> sont enregistrés.</div>
129 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
130 <div class="directive-section"><h2><a name="RemoteIPHeader" id="RemoteIPHeader">RemoteIPHeader</a> <a name="remoteipheader" id="remoteipheader">Directive</a></h2>
131 <table class="directive">
132 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit le champ d'en-tête qui contiendra les adresses IP
134 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RemoteIPHeader <var>en-tête</var></code></td></tr>
135 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
136 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
137 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_remoteip</td></tr>
139 <p>La directive <code class="directive">RemoteIPHeader</code> indique à
140 <code class="module"><a href="../mod/mod_remoteip.html">mod_remoteip</a></code> de traiter la valeur de
141 l'<var>en-tête</var> spécifié comme l'adresse IP du client, ou comme
142 une liste d'adresses IP clients intermédiaires, en fonction de la
143 configuration des directives
144 <code class="directive">RemoteIPInternalProxy</code> et
145 <code class="directive">RemoteIPTrustedProxy</code>. Si ces deux dernières
146 directives ne sont pas utilisées, <code class="module"><a href="../mod/mod_remoteip.html">mod_remoteip</a></code>
147 traitera tout hôte présentant une valeur d'IP
148 <code class="directive">RemoteIPHeader</code> comme hôte de confiance.</p>
150 <div class="example"><h3>Exemple à usage interne (répartiteur de
151 charge)</h3><p><code>
152 RemoteIPHeader X-Client-IP
155 <div class="example"><h3>Exemple dans le cas d'un mandataire</h3><p><code>
156 RemoteIPHeader X-Forwarded-For
160 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
161 <div class="directive-section"><h2><a name="RemoteIPInternalProxy" id="RemoteIPInternalProxy">RemoteIPInternalProxy</a> <a name="remoteipinternalproxy" id="remoteipinternalproxy">Directive</a></h2>
162 <table class="directive">
163 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Déclare les adresses IP intranet clients comme dignes de
164 confiance pour présenter la valeur RemoteIPHeader</td></tr>
165 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RemoteIPInternalProxy
166 <var>ip-mandataire</var>|<var>ip-mandataire/sous-réseau</var>|<var>nom-hôte</var> ...</code></td></tr>
167 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
168 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
169 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_remoteip</td></tr>
171 <p>La directive <code class="directive">RemoteIPInternalProxy</code> permet
172 d'ajouter une ou plusieurs adresses (ou blocs d'adresses) auxquelles
173 on peut faire confiance pour présenter une valeur RemoteIPHeader
174 valide de l'adresse IP du client. A la différence de la directive
175 <code class="directive">RemoteIPTrustedProxy</code>, toute adresse IP
176 présentée dans cet en-tête, y comprises les adresses intranet
177 privées, sont considérées comme dignes de confiance lorsqu'elles
178 sont indiquées par ces mandataires.</p>
180 <div class="example"><h3>Exemple à usage interne (répartiteur de
181 charge)</h3><p><code>
182 RemoteIPHeader X-Client-IP<br />
183 RemoteIPTrustedProxy 10.0.2.0/24<br />
184 RemoteIPTrustedProxy passerelle.domaine-local
188 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
189 <div class="directive-section"><h2><a name="RemoteIPInternalProxyList" id="RemoteIPInternalProxyList">RemoteIPInternalProxyList</a> <a name="remoteipinternalproxylist" id="remoteipinternalproxylist">Directive</a></h2>
190 <table class="directive">
191 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Déclare les adresses IP intranet clients comme dignes de
192 confiance pour présenter la valeur RemoteIPHeader</td></tr>
193 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RemoteIPInternalProxyList <var>nom-fichier</var></code></td></tr>
194 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
195 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
196 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_remoteip</td></tr>
198 <p>La directive <code class="directive">RemoteIPInternalProxyList</code>
199 permet de spécifier un fichier parcouru au démarrage du serveur pour
200 construire une liste d'adresses (ou blocs d'adresses), auxquelles
201 on peut faire confiance pour présenter une valeur RemoteIPHeader
202 valide de l'adresse IP du client.</p>
204 <p>Le caractère '<code>#</code>' indique une ligne de commentaires,
205 sinon, toutes les lignes séparées par un caractère <code>nouvelle
207 tous les éléments d'une ligne séparés par un espace sont traités de
208 la même façon qu'avec la directive
209 <code class="directive">RemoteIPInternalProxy</code>.</p>
211 <div class="example"><h3>Exemple à usage interne (répartiteur de
212 charge)</h3><p><code>
213 RemoteIPHeader X-Client-IP<br />
214 RemoteIPTrustedProxyList conf/mandataires-de-confiance.lst
217 <div class="example"><h3>contenu de conf/mandataires-de-confiance.lst</h3><p><code>
218 # Nos mandataires internes de confiance<br />
219 10.0.2.0/24 # Tout le monde dans le groupe de test<br />
220 passerelle.domaine-local # Le frontal répartiteur de charge
224 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
225 <div class="directive-section"><h2><a name="RemoteIPProxiesHeader" id="RemoteIPProxiesHeader">RemoteIPProxiesHeader</a> <a name="remoteipproxiesheader" id="remoteipproxiesheader">Directive</a></h2>
226 <table class="directive">
227 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Déclare le champ d'en-tête qui contiendra toutes les
228 adresses IP intermédiaires</td></tr>
229 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RemoteIPProxiesHeader <var>Nom_en-tête</var></code></td></tr>
230 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
231 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
232 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_remoteip</td></tr>
234 <p>La directive <code class="directive">RemoteIPProxiesHeader</code> permet
235 de spécifier l'en-tête dans lequel <code class="module"><a href="../mod/mod_remoteip.html">mod_remoteip</a></code> va
236 collecter une liste de toutes les adresses IP clients intermédiaires
237 auxquelles on pourra faire confiance pour résoudre la véritable
238 adresse IP distante. Notez que les adresses intermédiaires
239 <code class="directive">RemoteIPTrustedProxy</code> sont enregistrées dans
240 cet en-tête, alors que toute adresse intermédiaire
241 <code class="directive">RemoteIPInternalProxy</code> est omise.</p>
243 <div class="example"><h3>Exemple</h3><p><code>
244 RemoteIPHeader X-Forwarded-For<br />
245 RemoteIPProxiesHeader X-Forwarded-By
249 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
250 <div class="directive-section"><h2><a name="RemoteIPTrustedProxy" id="RemoteIPTrustedProxy">RemoteIPTrustedProxy</a> <a name="remoteiptrustedproxy" id="remoteiptrustedproxy">Directive</a></h2>
251 <table class="directive">
252 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Déclare les adresses IP intranet clients comme dignes de
253 confiance pour présenter la valeur RemoteIPHeader</td></tr>
254 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RemoteIPTrustedProxy
255 <var>ip-mandataire</var>|<var>ip-mandataire/sous-réseau</var>|<var>nom-hôte</var> ...</code></td></tr>
256 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
257 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
258 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_remoteip</td></tr>
260 <p>La directive <code class="directive">RemoteIPTrustedProxy</code> permet
261 d'ajouter une ou plusieurs adresses, ou blocs d'adresses, auxquelles
262 on peut faire confiance pour présenter une valeur RemoteIPHeader
263 valide de l'adresse IP du client. A la différence de la directive
264 <code class="directive">RemoteIPInternalProxy</code>, toutes les adresses IP
265 intranet ou privées indiquées par de tels mandataires, y compris les
266 blocs d'adresses 10/8, 172.16/12, 192.168/16, 169.254/16 et 127/8
267 (ou située en dehors du bloc IPv6 public 2000::/3), ne sont pas
268 dignes de confiance en tant qu'adresses IP distantes, et se situent
269 à gauche dans le contenu de l'en-tête
270 <code class="directive">RemoteIPHeader</code>.</p>
272 <div class="example"><h3>Exemple d'adresse de confiance (répartiteur de
274 RemoteIPHeader X-Forwarded-For<br />
275 RemoteIPTrustedProxy 10.0.2.16/28<br />
276 RemoteIPTrustedProxy proxy.example.com
280 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
281 <div class="directive-section"><h2><a name="RemoteIPTrustedProxyList" id="RemoteIPTrustedProxyList">RemoteIPTrustedProxyList</a> <a name="remoteiptrustedproxylist" id="remoteiptrustedproxylist">Directive</a></h2>
282 <table class="directive">
283 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Déclare les adresses IP intranet clients comme dignes de
284 confiance pour présenter la valeur RemoteIPHeader</td></tr>
285 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RemoteIPTrustedProxyList <var>nom-fichier</var></code></td></tr>
286 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
287 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
288 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_remoteip</td></tr>
290 <p>La directive <code class="directive">RemoteIPTrustedProxyList</code>
291 permet de spécifier un fichier parcouru au démarrage du serveur pour
292 construire une liste d'adresses (ou blocs d'adresses), auxquelles
293 on peut faire confiance pour présenter une valeur RemoteIPHeader
294 valide de l'adresse IP du client.</p>
296 <p>Le caractère '<code>#</code>' indique une ligne de commentaires,
297 sinon, toutes les lignes séparées par un caractère nouvelle ligne ou
298 tous les éléments d'une ligne séparés par un espace sont traités de
299 la même façon qu'avec la directive
300 <code class="directive">RemoteIPTrustedProxy</code>.</p>
302 <div class="example"><h3>Exemple d'adresse de confiance (répartiteur de
304 RemoteIPHeader X-Forwarded-For<br />
305 RemoteIPTrustedProxyList conf/mandataires-de-confiance.lst
308 <div class="example"><h3>conf/mandataires-de-confiance.lst contents</h3><p><code>
309 # Mandataires externes identifiés<br />
310 192.0.2.16/28 #groupe wap phone de mandataires<br />
311 proxy.isp.example.com #un FAI bien connu
316 <div class="bottomlang">
317 <p><span>Langues Disponibles: </span><a href="../en/mod/mod_remoteip.html" hreflang="en" rel="alternate" title="English"> en </a> |
318 <a href="../fr/mod/mod_remoteip.html" title="Français"> fr </a></p>
319 </div><div id="footer">
320 <p class="apache">Copyright 2011 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
321 <p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div>