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 <meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" />
6 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
7 This file is generated from xml source: DO NOT EDIT
8 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
10 <title>mod_remoteip - Serveur Apache HTTP Version 2.5</title>
11 <link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
12 <link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
13 <link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" />
14 <script src="../style/scripts/prettify.min.js" type="text/javascript">
17 <link href="../images/favicon.ico" rel="shortcut icon" /></head>
19 <div id="page-header">
20 <p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p>
21 <p class="apache">Serveur Apache HTTP Version 2.5</p>
22 <img alt="" src="../images/feather.gif" /></div>
23 <div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div>
25 <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>
26 <div id="page-content">
27 <div id="preamble"><h1>Module Apache mod_remoteip</h1>
29 <p><span>Langues Disponibles: </span><a href="../en/mod/mod_remoteip.html" hreflang="en" rel="alternate" title="English"> en </a> |
30 <a href="../fr/mod/mod_remoteip.html" title="Français"> fr </a></p>
32 <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
33 pour la requête par l'adresse IP présentée par un mandataire ou un
34 répartiteur de charge via les en-têtes de la requête.
36 <tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Base</td></tr>
37 <tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>remoteip_module</td></tr>
38 <tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_remoteip.c</td></tr></table>
41 <p>Ce module permet de traiter l'hôte distant qui a initié la
42 requête en tant qu'hôte distant original du point de vue de httpd à
43 des fins d'autorisation et de connexion, même si cet hôte distant se
44 trouve derrière un répartiteur de charge, un serveur frontal, ou un
45 serveur mandataire.</p>
47 <p>Le module remplace les adresse IP et nom d'hôte apparents
48 distants (du client) pour la requête par l'adresse IP indiquée dans
49 l'en-tête de requête configuré via la directive
50 <code class="directive"><a href="#remoteipheader">RemoteIPHeader</a></code>.</p>
52 <p>Une fois remplacée comme indiqué, cette adresse IP apparente est
53 utilisée pour la fonctionnalité <code class="directive"><a href="../mod/mod_authz_core.html#require">Require ip</a></code> de
54 <code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code> ; elle est aussi affichée par
55 <code class="module"><a href="../mod/mod_status.html">mod_status</a></code>, et enregistrée via les directives
56 <code>%a</code> et <code>%h</code> du module
57 <code class="module"><a href="../mod/mod_log_config.html">mod_log_config</a></code>. Elle permet aussi d'identifier la
58 machine en essayant de lui attribuer une identité inetd via le
59 module <code class="module"><a href="../mod/mod_ident.html">mod_ident</a></code> et en fonction de la configuration
60 de la directive <code class="directive"><a href="../mod/mod_ident.html#identitycheck">IdentityCheck</a></code>.</p>
62 <div class="warning">Il est essentiel de n'activer cette
63 fonctionnalité que pour les requêtes en provenance des serveurs
64 intermédiaires (mandataires, etc...) auxquels le serveur peut faire
65 confiance, car il est trivial pour le client distant d'usurper
66 l'identité d'un autre client.</div>
68 <div id="quickview"><h3>Sujets</h3>
70 <li><img alt="" src="../images/down.gif" /> <a href="#processing">Traitement des adresses distantes</a></li>
71 </ul><h3 class="directives">Directives</h3>
73 <li><img alt="" src="../images/down.gif" /> <a href="#remoteipheader">RemoteIPHeader</a></li>
74 <li><img alt="" src="../images/down.gif" /> <a href="#remoteipinternalproxy">RemoteIPInternalProxy</a></li>
75 <li><img alt="" src="../images/down.gif" /> <a href="#remoteipinternalproxylist">RemoteIPInternalProxyList</a></li>
76 <li><img alt="" src="../images/down.gif" /> <a href="#remoteipproxiesheader">RemoteIPProxiesHeader</a></li>
77 <li><img alt="" src="../images/down.gif" /> <a href="#remoteiptrustedproxy">RemoteIPTrustedProxy</a></li>
78 <li><img alt="" src="../images/down.gif" /> <a href="#remoteiptrustedproxylist">RemoteIPTrustedProxyList</a></li>
82 <li><code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code></li>
83 <li><code class="module"><a href="../mod/mod_status.html">mod_status</a></code></li>
84 <li><code class="module"><a href="../mod/mod_log_config.html">mod_log_config</a></code></li>
85 <li><code class="module"><a href="../mod/mod_ident.html">mod_ident</a></code></li>
86 </ul><ul class="seealso"><li><a href="#comments_section">Commentaires</a></li></ul></div>
87 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
89 <h2><a name="processing" id="processing">Traitement des adresses distantes</a></h2>
91 <p>Apache identifie le client par la valeur remote_ip de la
92 connexion, et de cette valeur découlent les valeurs remote_host et
93 remote_logname de la connexion. Ces champs jouent un rôle
94 dans l'authentification, l'autorisation et la connexion, ainsi que
95 dans d'autres traitements effectués par d'autres modules
98 <p>mod_remoteip remplace la véritable remote_ip par la remote_ip
99 indiquée par exemple par un mandataire chaque fois que le serveur
100 effectue une évaluation du client, et réinitialise les valeurs de
101 remote_host et remote_logname afin de déclencher une nouvelle
102 requête dns ou ident sur l'adresse IP distante.</p>
104 <p>Lorsque la valeur de l'en-tête comporte plusieurs adresses IP
105 distantes séparées par des virgules, celles-ci sont traitées de la
106 droite vers la gauche. Le traitement s'arrête lorsque l'adresse IP
107 distante courante n'est pas digne de confiance pour présenter
108 l'adresse IP précédente. Le champ d'en-tête est alors mis à jour de
109 façon à ne contenir que cette liste d'adresses non confirmées, ou
110 bien, si toutes les adresses IP sont dignes de confiance, cet
111 en-tête est tout bonnement supprimé de la requête.</p>
113 <p>Lors du remplacement de l'adresse IP distante, le module stocke
114 la liste des hôtes intermédiaires dans un mémo
115 remoteip-proxy-ip-list, que l'on peut faire enregistrer par
116 <code class="module"><a href="../mod/mod_log_config.html">mod_log_config</a></code> en utilisant le symbole de format
117 <code>%{remoteip-proxy-ip-list}n</code>. Si l'administrateur doit
118 stocker ceci dans un en-tête additionnel, la même valeur peut aussi
119 être enregistrée sous la forme d'un en-tête en utilisant la
120 directive <code class="directive"><a href="#remoteipproxiesheader">RemoteIPProxiesHeader</a></code>.</p>
122 <div class="note"><h3>Adresses IPv4 converties au format IPv6</h3>
123 Avec httpd, d'une manière générale, toute adresse IPv4 convertie au
124 format IPv6 est enregistrée sous sa forme IPv4.</div>
126 <div class="note"><h3>Adresses internes (privées)</h3>
127 Tous les blocs d'adresses internes 10/8, 172.16/12, 192.168/16,
128 169.254/16 and 127/8 (ainsi que les adresses IPv6 en dehors du bloc
129 public 2000::/3 block) ne sont évaluées par mod_remoteip que lorsque
130 des mandataires internes (intranet)
131 <code class="directive"><a href="#remoteipinternalproxy">RemoteIPInternalProxy</a></code> sont enregistrés.</div>
134 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
135 <div class="directive-section"><h2><a name="remoteipheader" id="remoteipheader">Directive</a> <a name="RemoteIPHeader" id="RemoteIPHeader">RemoteIPHeader</a></h2>
136 <table class="directive">
137 <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
139 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RemoteIPHeader <var>en-tête</var></code></td></tr>
140 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
141 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
142 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_remoteip</td></tr>
144 <p>La directive <code class="directive"><a href="#remoteipheader">RemoteIPHeader</a></code> indique à
145 <code class="module"><a href="../mod/mod_remoteip.html">mod_remoteip</a></code> de traiter la valeur de
146 l'<var>en-tête</var> spécifié comme l'adresse IP du client, ou comme
147 une liste d'adresses IP clients intermédiaires, en fonction de la
148 configuration des directives
149 <code class="directive"><a href="#remoteipinternalproxy">RemoteIPInternalProxy</a></code> et
150 <code class="directive"><a href="#remoteiptrustedproxy">RemoteIPTrustedProxy</a></code>.</p>
152 <div class="warning">Si ces deux dernières
153 directives ne sont pas utilisées, <code class="module"><a href="../mod/mod_remoteip.html">mod_remoteip</a></code>
154 traitera tout hôte présentant une adresse non interne
155 dans l'en-tête <code class="directive"><a href="#remoteipheader">RemoteIPHeader</a></code> comme hôte de
158 <div class="example"><h3>Exemple à usage interne (répartiteur de
159 charge)</h3><pre class="prettyprint lang-config">RemoteIPHeader X-Client-IP</pre>
162 <div class="example"><h3>Exemple dans le cas d'un mandataire</h3><pre class="prettyprint lang-config">RemoteIPHeader X-Forwarded-For</pre>
166 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
167 <div class="directive-section"><h2><a name="remoteipinternalproxy" id="remoteipinternalproxy">Directive</a> <a name="RemoteIPInternalProxy" id="RemoteIPInternalProxy">RemoteIPInternalProxy</a></h2>
168 <table class="directive">
169 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Déclare les adresses IP intranet clients comme dignes de
170 confiance pour présenter la valeur RemoteIPHeader</td></tr>
171 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RemoteIPInternalProxy
172 <var>ip-mandataire</var>|<var>ip-mandataire/sous-réseau</var>|<var>nom-hôte</var> ...</code></td></tr>
173 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
174 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
175 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_remoteip</td></tr>
177 <p>La directive <code class="directive"><a href="#remoteipinternalproxy">RemoteIPInternalProxy</a></code> permet
178 d'ajouter une ou plusieurs adresses (ou blocs d'adresses) auxquelles
179 on peut faire confiance pour présenter une valeur RemoteIPHeader
180 valide de l'adresse IP du client. A la différence de la directive
181 <code class="directive"><a href="#remoteiptrustedproxy">RemoteIPTrustedProxy</a></code>, toute adresse IP
182 présentée dans cet en-tête, y comprises les adresses intranet
183 privées, sont considérées comme dignes de confiance lorsqu'elles
184 sont indiquées par ces mandataires.</p>
186 <div class="example"><h3>Exemple à usage interne (répartiteur de
187 charge)</h3><pre class="prettyprint lang-config">RemoteIPHeader X-Client-IP
188 RemoteIPInternalProxy 10.0.2.0/24
189 RemoteIPInternalProxy gateway.localdomain</pre>
193 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
194 <div class="directive-section"><h2><a name="remoteipinternalproxylist" id="remoteipinternalproxylist">Directive</a> <a name="RemoteIPInternalProxyList" id="RemoteIPInternalProxyList">RemoteIPInternalProxyList</a></h2>
195 <table class="directive">
196 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Déclare les adresses IP intranet clients comme dignes de
197 confiance pour présenter la valeur RemoteIPHeader</td></tr>
198 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RemoteIPInternalProxyList <var>nom-fichier</var></code></td></tr>
199 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
200 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
201 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_remoteip</td></tr>
203 <p>La directive <code class="directive"><a href="#remoteipinternalproxylist">RemoteIPInternalProxyList</a></code>
204 permet de spécifier un fichier parcouru au démarrage du serveur pour
205 construire une liste d'adresses (ou blocs d'adresses), auxquelles
206 on peut faire confiance pour présenter une valeur RemoteIPHeader
207 valide de l'adresse IP du client.</p>
209 <p>Le caractère '<code>#</code>' indique une ligne de commentaires,
210 sinon, toutes les lignes séparées par un caractère <code>nouvelle
212 tous les éléments d'une ligne séparés par un espace sont traités de
213 la même façon qu'avec la directive
214 <code class="directive"><a href="#remoteipinternalproxy">RemoteIPInternalProxy</a></code>.</p>
216 <div class="example"><h3>Exemple à usage interne (répartiteur de
217 charge)</h3><pre class="prettyprint lang-config">RemoteIPHeader X-Client-IP
218 RemoteIPInternalProxyList conf/trusted-proxies.lst</pre>
221 <div class="example"><h3>contenu de conf/mandataires-de-confiance.lst</h3><pre> # Nos mandataires internes de confiance
222 10.0.2.0/24 # Tout le monde dans le groupe de test
223 passerelle.domaine-local # Le frontal répartiteur de charge</pre></div>
226 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
227 <div class="directive-section"><h2><a name="remoteipproxiesheader" id="remoteipproxiesheader">Directive</a> <a name="RemoteIPProxiesHeader" id="RemoteIPProxiesHeader">RemoteIPProxiesHeader</a></h2>
228 <table class="directive">
229 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Déclare le champ d'en-tête qui contiendra toutes les
230 adresses IP intermédiaires</td></tr>
231 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RemoteIPProxiesHeader <var>Nom_en-tête</var></code></td></tr>
232 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
233 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
234 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_remoteip</td></tr>
236 <p>La directive <code class="directive"><a href="#remoteipproxiesheader">RemoteIPProxiesHeader</a></code> permet
237 de spécifier l'en-tête dans lequel <code class="module"><a href="../mod/mod_remoteip.html">mod_remoteip</a></code> va
238 collecter une liste de toutes les adresses IP clients intermédiaires
239 auxquelles on pourra faire confiance pour résoudre la véritable
240 adresse IP distante. Notez que les adresses intermédiaires
241 <code class="directive"><a href="#remoteiptrustedproxy">RemoteIPTrustedProxy</a></code> sont enregistrées dans
242 cet en-tête, alors que toute adresse intermédiaire
243 <code class="directive"><a href="#remoteipinternalproxy">RemoteIPInternalProxy</a></code> est omise.</p>
245 <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">RemoteIPHeader X-Forwarded-For
246 RemoteIPProxiesHeader X-Forwarded-By</pre>
250 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
251 <div class="directive-section"><h2><a name="remoteiptrustedproxy" id="remoteiptrustedproxy">Directive</a> <a name="RemoteIPTrustedProxy" id="RemoteIPTrustedProxy">RemoteIPTrustedProxy</a></h2>
252 <table class="directive">
253 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Restreint les adresses IP clients dignes de
254 confiance pour présenter la valeur RemoteIPHeader</td></tr>
255 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RemoteIPTrustedProxy
256 <var>ip-mandataire</var>|<var>ip-mandataire/sous-réseau</var>|<var>nom-hôte</var> ...</code></td></tr>
257 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
258 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
259 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_remoteip</td></tr>
261 <p>La directive <code class="directive"><a href="#remoteiptrustedproxy">RemoteIPTrustedProxy</a></code> permet
262 de définir quelles adresses IP (ou blocs d'adresses) seront
263 considérées comme de confiance pour présenter une valeur RemoteIPHeader
264 valide de l'adresse IP du client.</p>
266 <p>A la différence de la directive
267 <code class="directive"><a href="#remoteipinternalproxy">RemoteIPInternalProxy</a></code>, toutes les adresses IP
268 intranet ou privées indiquées par de tels mandataires, y compris les
269 blocs d'adresses 10/8, 172.16/12, 192.168/16, 169.254/16 et 127/8
270 (ou située en dehors du bloc IPv6 public 2000::/3), ne sont pas
271 dignes de confiance en tant qu'adresses IP distantes, et se situent
272 à gauche dans le contenu de l'en-tête
273 <code class="directive"><a href="#remoteipheader">RemoteIPHeader</a></code>.</p>
275 <div class="warning">Par défaut, <code class="module"><a href="../mod/mod_remoteip.html">mod_remoteip</a></code>
276 considérera comme de confiance tout hôte présentant une adresse non
277 interne dans l'en-tête <code class="directive"><a href="#remoteipheader">RemoteIPHeader</a></code>.
280 <div class="example"><h3>Exemple d'adresse de confiance (répartiteur de
281 charge</h3><pre class="prettyprint lang-config">RemoteIPHeader X-Forwarded-For
282 RemoteIPTrustedProxy 10.0.2.16/28
283 RemoteIPTrustedProxy proxy.example.com</pre>
287 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
288 <div class="directive-section"><h2><a name="remoteiptrustedproxylist" id="remoteiptrustedproxylist">Directive</a> <a name="RemoteIPTrustedProxyList" id="RemoteIPTrustedProxyList">RemoteIPTrustedProxyList</a></h2>
289 <table class="directive">
290 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Restreint les adresses IP clients dignes de
291 confiance pour présenter la valeur RemoteIPHeader</td></tr>
292 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RemoteIPTrustedProxyList <var>nom-fichier</var></code></td></tr>
293 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
294 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
295 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_remoteip</td></tr>
297 <p>La directive <code class="directive"><a href="#remoteiptrustedproxylist">RemoteIPTrustedProxyList</a></code>
298 permet de spécifier un fichier parcouru au démarrage du serveur pour
299 construire une liste d'adresses (ou blocs d'adresses), auxquelles
300 on peut faire confiance pour présenter une valeur RemoteIPHeader
301 valide de l'adresse IP du client.</p>
303 <p>Le caractère '<code>#</code>' indique une ligne de commentaires,
304 sinon, toutes les lignes séparées par un caractère nouvelle ligne ou
305 tous les éléments d'une ligne séparés par un espace sont traités de
306 la même façon qu'avec la directive
307 <code class="directive"><a href="#remoteiptrustedproxy">RemoteIPTrustedProxy</a></code>.</p>
309 <div class="example"><h3>Exemple d'adresse de confiance (répartiteur de
310 charge</h3><pre class="prettyprint lang-config">RemoteIPHeader X-Forwarded-For
311 RemoteIPTrustedProxyList conf/trusted-proxies.lst</pre>
314 <div class="example"><h3>conf/mandataires-de-confiance.lst contents</h3><p><code>
315 # Mandataires externes identifiés<br />
316 192.0.2.16/28 #groupe wap phone de mandataires<br />
317 proxy.isp.example.com #un FAI bien connu
322 <div class="bottomlang">
323 <p><span>Langues Disponibles: </span><a href="../en/mod/mod_remoteip.html" hreflang="en" rel="alternate" title="English"> en </a> |
324 <a href="../fr/mod/mod_remoteip.html" title="Français"> fr </a></p>
325 </div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
326 <script type="text/javascript"><!--//--><![CDATA[//><!--
327 var comments_shortname = 'httpd';
328 var comments_identifier = 'http://httpd.apache.org/docs/trunk/mod/mod_remoteip.html';
330 if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
331 d.write('<div id="comments_thread"><\/div>');
332 var s = d.createElement('script');
333 s.type = 'text/javascript';
335 s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
336 (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
339 d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
341 })(window, document);
342 //--><!]]></script></div><div id="footer">
343 <p class="apache">Copyright 2016 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
344 <p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
345 if (typeof(prettyPrint) !== 'undefined') {