Files
apache-http-server/docs/manual/mod/mod_remoteip.html.fr
Daniel Gruno a015503f65 rebuild eeeverything
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1329931 13f79535-47bb-0310-9956-ffa450edef68
2012-04-24 18:46:16 +00:00

329 lines
20 KiB
Plaintext
Raw Blame History

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head><!--
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
This file is generated from xml source: DO NOT EDIT
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-->
<title>mod_remoteip - Serveur Apache HTTP</title>
<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
<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" />
<script src="../style/scripts/prettify.js" type="text/javascript">
</script>
<link href="../images/favicon.ico" rel="shortcut icon" /></head>
<body>
<div id="page-header">
<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>
<p class="apache">Serveur Apache HTTP Version 2.5</p>
<img alt="" src="../images/feather.gif" /></div>
<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
<div id="path">
<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">Serveur HTTP</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.5</a> &gt; <a href="./">Modules</a></div>
<div id="page-content">
<div id="preamble"><h1>Module Apache mod_remoteip</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_remoteip.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="../fr/mod/mod_remoteip.html" title="Fran<61>ais">&nbsp;fr&nbsp;</a></p>
</div>
<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
pour la requ<71>te par l'adresse IP pr<70>sent<6E>e par un mandataire ou un
r<EFBFBD>partiteur de charge via les en-t<>tes de la requ<71>te.
</td></tr>
<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Base</td></tr>
<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur<75>de<64>Module:</a></th><td>remoteip_module</td></tr>
<tr><th><a href="module-dict.html#SourceFile">Fichier<65>Source:</a></th><td>mod_remoteip.c</td></tr></table>
<h3>Sommaire</h3>
<p>Ce module permet de traiter l'h<>te distant qui a initi<74> la
requ<71>te en tant qu'h<>te distant original du point de vue de httpd <20>
des fins d'autorisation et de connexion, m<>me si cet h<>te distant se
trouve derri<72>re un r<>partiteur de charge, un serveur frontal, ou un
serveur mandataire.</p>
<p>Le module remplace les adresse IP et nom d'h<>te apparents
distants (du client) pour la requ<71>te par l'adresse IP indiqu<71>e dans
l'en-t<>te de requ<71>te configur<75> via la directive
<code class="directive">RemoteIPHeader</code>.</p>
<p>Une fois remplac<61>e comme indiqu<71>, cette adresse IP apparente est
utilis<69>e pour les fonctionnalit<69>s <code class="directive"><a href="../mod/mod_authz_host.html#require host">&lt;Require host&gt;</a></code> et <code class="directive"><a href="../mod/mod_authz_host.html#require ip">&lt;Require ip&gt;</a></code> de
<code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code> ; elle est aussi affich<63>e par
<code class="module"><a href="../mod/mod_status.html">mod_status</a></code>, et enregistr<74>e via les directives
<code>%a</code> et <code>%h</code> du module
<code class="module"><a href="../mod/mod_log_config.html">mod_log_config</a></code>. Elle permet aussi d'identifier la
machine en essayant de lui attribuer une identit<69> inetd via le
module <code class="module"><a href="../mod/mod_ident.html">mod_ident</a></code> et en fonction de la configuration
de la directive <code class="directive"><a href="../mod/mod_ident.html#identitycheck">IdentityCheck</a></code>.</p>
<div class="warning">Il est essentiel de n'activer cette
fonctionnalit<69> que pour les requ<71>tes en provenance des serveurs
interm<72>diaires (mandataires, etc...) auxquels le serveur peut faire
confiance, car il est trivial pour le client distant d'usurper
l'identit<69> d'un autre client.</div>
</div>
<div id="quickview"><h3 class="directives">Directives</h3>
<ul id="toc">
<li><img alt="" src="../images/down.gif" /> <a href="#remoteipheader">RemoteIPHeader</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#remoteipinternalproxy">RemoteIPInternalProxy</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#remoteipinternalproxylist">RemoteIPInternalProxyList</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#remoteipproxiesheader">RemoteIPProxiesHeader</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#remoteiptrustedproxy">RemoteIPTrustedProxy</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#remoteiptrustedproxylist">RemoteIPTrustedProxyList</a></li>
</ul>
<h3>Sujets</h3>
<ul id="topics">
<li><img alt="" src="../images/down.gif" /> <a href="#processing">Traitement des adresses distantes</a></li>
</ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code></li>
<li><code class="module"><a href="../mod/mod_status.html">mod_status</a></code></li>
<li><code class="module"><a href="../mod/mod_log_config.html">mod_log_config</a></code></li>
<li><code class="module"><a href="../mod/mod_ident.html">mod_ident</a></code></li>
</ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="processing" id="processing">Traitement des adresses distantes</a></h2>
<p>Apache identifie le client par la valeur remote_ip de la
connexion, et de cette valeur d<>coulent les valeurs remote_host et
remote_logname de la connexion. Ces champs jouent un r<>le
dans l'authentification, l'autorisation et la connexion, ainsi que
dans d'autres traitements effectu<74>s par d'autres modules
chargeables.</p>
<p>mod_remoteip remplace la v<>ritable remote_ip par la remote_ip
indiqu<71>e par exemple par un mandataire chaque fois que le serveur
effectue une <20>valuation du client, et r<>initialise les valeurs de
remote_host et remote_logname afin de d<>clencher une nouvelle
requ<71>te dns ou ident sur l'adresse IP distante.</p>
<p>Lorsque la valeur de l'en-t<>te comporte plusieurs adresses IP
distantes s<>par<61>es par des virgules, celles-ci sont trait<69>es de la
droite vers la gauche. Le traitement s'arr<72>te lorsque l'adresse IP
distante courante n'est pas digne de confiance pour pr<70>senter
l'adresse IP pr<70>c<EFBFBD>dente. Le champ d'en-t<>te est alors mis <20> jour de
fa<66>on <20> ne contenir que cette liste d'adresses non confirm<72>es, ou
bien, si toutes les adresses IP sont dignes de confiance, cet
en-t<>te est tout bonnement supprim<69> de la requ<71>te.</p>
<p>Lors du remplacement de l'adresse IP distante, le module stocke
la liste des h<>tes interm<72>diaires dans un m<>mo
remoteip-proxy-ip-list, que l'on peut faire enregistrer par
<code class="module"><a href="../mod/mod_log_config.html">mod_log_config</a></code> en utilisant le symbole de format
<code>%{remoteip-proxy-ip-list}n</code>. Si l'administrateur doit
stocker ceci dans un en-t<>te additionnel, la m<>me valeur peut aussi
<20>tre enregistr<74>e sous la forme d'un en-t<>te en utilisant la
directive <code class="directive">RemoteIPProxiesHeader</code>.</p>
<div class="note"><h3>Adresses IPv4 converties au format IPv6</h3>
Avec httpd, d'une mani<6E>re g<>n<EFBFBD>rale, toute adresse IPv4 convertie au
format IPv6 est enregistr<74>e sous sa forme IPv4.</div>
<div class="note"><h3>Adresses internes (priv<69>es)</h3>
Tous les blocs d'adresses internes 10/8, 172.16/12, 192.168/16,
169.254/16 and 127/8 (ainsi que les adresses IPv6 en dehors du bloc
public 2000::/3 block) ne sont <20>valu<6C>es par mod_remoteip que lorsque
des mandataires internes (intranet)
<code class="directive">RemoteIPInternalProxy</code> sont enregistr<74>s.</div>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="RemoteIPHeader" id="RemoteIPHeader">RemoteIPHeader</a> <a name="remoteipheader" id="remoteipheader">Directive</a></h2>
<table class="directive">
<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
du client</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RemoteIPHeader <var>en-t<>te</var></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_remoteip</td></tr>
</table>
<p>La directive <code class="directive">RemoteIPHeader</code> indique <20>
<code class="module"><a href="../mod/mod_remoteip.html">mod_remoteip</a></code> de traiter la valeur de
l'<var>en-t<>te</var> sp<73>cifi<66> comme l'adresse IP du client, ou comme
une liste d'adresses IP clients interm<72>diaires, en fonction de la
configuration des directives
<code class="directive">RemoteIPInternalProxy</code> et
<code class="directive">RemoteIPTrustedProxy</code>. Si ces deux derni<6E>res
directives ne sont pas utilis<69>es, <code class="module"><a href="../mod/mod_remoteip.html">mod_remoteip</a></code>
traitera tout h<>te pr<70>sentant une valeur d'IP
<code class="directive">RemoteIPHeader</code> comme h<>te de confiance.</p>
<div class="example"><h3>Exemple <20> usage interne (r<>partiteur de
charge)</h3><p><code>
RemoteIPHeader X-Client-IP
</code></p></div>
<div class="example"><h3>Exemple dans le cas d'un mandataire</h3><p><code>
RemoteIPHeader X-Forwarded-For
</code></p></div>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="RemoteIPInternalProxy" id="RemoteIPInternalProxy">RemoteIPInternalProxy</a> <a name="remoteipinternalproxy" id="remoteipinternalproxy">Directive</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>D<>clare les adresses IP intranet clients comme dignes de
confiance pour pr<70>senter la valeur RemoteIPHeader</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RemoteIPInternalProxy
<var>ip-mandataire</var>|<var>ip-mandataire/sous-r<>seau</var>|<var>nom-h<>te</var> ...</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_remoteip</td></tr>
</table>
<p>La directive <code class="directive">RemoteIPInternalProxy</code> permet
d'ajouter une ou plusieurs adresses (ou blocs d'adresses) auxquelles
on peut faire confiance pour pr<70>senter une valeur RemoteIPHeader
valide de l'adresse IP du client. A la diff<66>rence de la directive
<code class="directive">RemoteIPTrustedProxy</code>, toute adresse IP
pr<70>sent<6E>e dans cet en-t<>te, y comprises les adresses intranet
priv<69>es, sont consid<69>r<EFBFBD>es comme dignes de confiance lorsqu'elles
sont indiqu<71>es par ces mandataires.</p>
<div class="example"><h3>Exemple <20> usage interne (r<>partiteur de
charge)</h3><p><code>
RemoteIPHeader X-Client-IP<br />
RemoteIPTrustedProxy 10.0.2.0/24<br />
RemoteIPTrustedProxy passerelle.domaine-local
</code></p></div>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="RemoteIPInternalProxyList" id="RemoteIPInternalProxyList">RemoteIPInternalProxyList</a> <a name="remoteipinternalproxylist" id="remoteipinternalproxylist">Directive</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>D<>clare les adresses IP intranet clients comme dignes de
confiance pour pr<70>senter la valeur RemoteIPHeader</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RemoteIPInternalProxyList <var>nom-fichier</var></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_remoteip</td></tr>
</table>
<p>La directive <code class="directive">RemoteIPInternalProxyList</code>
permet de sp<73>cifier un fichier parcouru au d<>marrage du serveur pour
construire une liste d'adresses (ou blocs d'adresses), auxquelles
on peut faire confiance pour pr<70>senter une valeur RemoteIPHeader
valide de l'adresse IP du client.</p>
<p>Le caract<63>re '<code>#</code>' indique une ligne de commentaires,
sinon, toutes les lignes s<>par<61>es par un caract<63>re <code>nouvelle
ligne</code> ou
tous les <20>l<EFBFBD>ments d'une ligne s<>par<61>s par un espace sont trait<69>s de
la m<>me fa<66>on qu'avec la directive
<code class="directive">RemoteIPInternalProxy</code>.</p>
<div class="example"><h3>Exemple <20> usage interne (r<>partiteur de
charge)</h3><p><code>
RemoteIPHeader X-Client-IP<br />
RemoteIPTrustedProxyList conf/mandataires-de-confiance.lst
</code></p></div>
<div class="example"><h3>contenu de conf/mandataires-de-confiance.lst</h3><p><code>
# Nos mandataires internes de confiance<br />
10.0.2.0/24 # Tout le monde dans le groupe de test<br />
passerelle.domaine-local # Le frontal r<>partiteur de charge
</code></p></div>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="RemoteIPProxiesHeader" id="RemoteIPProxiesHeader">RemoteIPProxiesHeader</a> <a name="remoteipproxiesheader" id="remoteipproxiesheader">Directive</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>D<>clare le champ d'en-t<>te qui contiendra toutes les
adresses IP interm<72>diaires</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RemoteIPProxiesHeader <var>Nom_en-t<>te</var></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_remoteip</td></tr>
</table>
<p>La directive <code class="directive">RemoteIPProxiesHeader</code> permet
de sp<73>cifier l'en-t<>te dans lequel <code class="module"><a href="../mod/mod_remoteip.html">mod_remoteip</a></code> va
collecter une liste de toutes les adresses IP clients interm<72>diaires
auxquelles on pourra faire confiance pour r<>soudre la v<>ritable
adresse IP distante. Notez que les adresses interm<72>diaires
<code class="directive">RemoteIPTrustedProxy</code> sont enregistr<74>es dans
cet en-t<>te, alors que toute adresse interm<72>diaire
<code class="directive">RemoteIPInternalProxy</code> est omise.</p>
<div class="example"><h3>Exemple</h3><p><code>
RemoteIPHeader X-Forwarded-For<br />
RemoteIPProxiesHeader X-Forwarded-By
</code></p></div>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="RemoteIPTrustedProxy" id="RemoteIPTrustedProxy">RemoteIPTrustedProxy</a> <a name="remoteiptrustedproxy" id="remoteiptrustedproxy">Directive</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>D<>clare les adresses IP intranet clients comme dignes de
confiance pour pr<70>senter la valeur RemoteIPHeader</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RemoteIPTrustedProxy
<var>ip-mandataire</var>|<var>ip-mandataire/sous-r<>seau</var>|<var>nom-h<>te</var> ...</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_remoteip</td></tr>
</table>
<p>La directive <code class="directive">RemoteIPTrustedProxy</code> permet
d'ajouter une ou plusieurs adresses, ou blocs d'adresses, auxquelles
on peut faire confiance pour pr<70>senter une valeur RemoteIPHeader
valide de l'adresse IP du client. A la diff<66>rence de la directive
<code class="directive">RemoteIPInternalProxy</code>, toutes les adresses IP
intranet ou priv<69>es indiqu<71>es par de tels mandataires, y compris les
blocs d'adresses 10/8, 172.16/12, 192.168/16, 169.254/16 et 127/8
(ou situ<74>e en dehors du bloc IPv6 public 2000::/3), ne sont pas
dignes de confiance en tant qu'adresses IP distantes, et se situent
<20> gauche dans le contenu de l'en-t<>te
<code class="directive">RemoteIPHeader</code>.</p>
<div class="example"><h3>Exemple d'adresse de confiance (r<>partiteur de
charge</h3><p><code>
RemoteIPHeader X-Forwarded-For<br />
RemoteIPTrustedProxy 10.0.2.16/28<br />
RemoteIPTrustedProxy proxy.example.com
</code></p></div>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="RemoteIPTrustedProxyList" id="RemoteIPTrustedProxyList">RemoteIPTrustedProxyList</a> <a name="remoteiptrustedproxylist" id="remoteiptrustedproxylist">Directive</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>D<>clare les adresses IP intranet clients comme dignes de
confiance pour pr<70>senter la valeur RemoteIPHeader</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RemoteIPTrustedProxyList <var>nom-fichier</var></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_remoteip</td></tr>
</table>
<p>La directive <code class="directive">RemoteIPTrustedProxyList</code>
permet de sp<73>cifier un fichier parcouru au d<>marrage du serveur pour
construire une liste d'adresses (ou blocs d'adresses), auxquelles
on peut faire confiance pour pr<70>senter une valeur RemoteIPHeader
valide de l'adresse IP du client.</p>
<p>Le caract<63>re '<code>#</code>' indique une ligne de commentaires,
sinon, toutes les lignes s<>par<61>es par un caract<63>re nouvelle ligne ou
tous les <20>l<EFBFBD>ments d'une ligne s<>par<61>s par un espace sont trait<69>s de
la m<>me fa<66>on qu'avec la directive
<code class="directive">RemoteIPTrustedProxy</code>.</p>
<div class="example"><h3>Exemple d'adresse de confiance (r<>partiteur de
charge</h3><p><code>
RemoteIPHeader X-Forwarded-For<br />
RemoteIPTrustedProxyList conf/mandataires-de-confiance.lst
</code></p></div>
<div class="example"><h3>conf/mandataires-de-confiance.lst contents</h3><p><code>
# Mandataires externes identifi<66>s<br />
192.0.2.16/28 #groupe wap phone de mandataires<br />
proxy.isp.example.com #un FAI bien connu
</code></p></div>
</div>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_remoteip.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="../fr/mod/mod_remoteip.html" title="Fran<61>ais">&nbsp;fr&nbsp;</a></p>
</div><div id="footer">
<p class="apache">Copyright 2012 The Apache Software Foundation.<br />Autoris<69> sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<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><script type="text/javascript">
if (typeof(prettyPrint) !== undefined) {
prettyPrint();
}
</script>
</body></html>