<?xml version="1.0" encoding="UTF-8"?><rss
version="2.0"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"
xmlns:media="http://search.yahoo.com/mrss/"
> <channel><title>Commentaires sur : Tomcat : Adresse IP de l&#8217;internaute, load balancer, reverse proxy et header Http X-Forwarded-For</title> <atom:link href="http://blog.xebia.fr/2009/05/05/tomcat-adresse-ip-de-linternaute-load-balancer-reverse-proxy-et-header-http-x-forwarded-for/feed/" rel="self" type="application/rss+xml" /><link>http://blog.xebia.fr/2009/05/05/tomcat-adresse-ip-de-linternaute-load-balancer-reverse-proxy-et-header-http-x-forwarded-for/</link> <description>J2EE, Agilité et SOA</description> <lastBuildDate>Fri, 10 Feb 2012 09:50:25 +0000</lastBuildDate> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=</generator> <item><title>Par : Carlos</title><link>http://blog.xebia.fr/2009/05/05/tomcat-adresse-ip-de-linternaute-load-balancer-reverse-proxy-et-header-http-x-forwarded-for/#comment-43182</link> <dc:creator>Carlos</dc:creator> <pubDate>Tue, 08 Mar 2011 16:25:20 +0000</pubDate> <guid
isPermaLink="false">http://blog.xebia.fr/?p=1914#comment-43182</guid> <description>Re-bonjour
Mon incident semblait être liè au fait qu&#039;il faut placer le &lt;valve après le premier  et j&#039;ai placé le jar dans server\lib.
J&#039;ai des logs maintenant et je vois bien l&#039;adresse ip du LBL mais par contre je ne vois pas l&#039;adresse IP du client distant... je ne sais pas si le xforward est activé au niveau de l&#039;alteon (je n&#039;ai pas les moyens de le vérifier)
Note: Mon souci est lié au fait que quand j&#039;active le https (CONFIDENTIAL) au niveau du tomcat (car l&#039;admin alteon n&#039;a pas l&#039;habitude du gérer la redirection https...), je n&#039;accède plus au serveur (j&#039;ai une page blanche et ça n&#039;aboutit jamais)
Carlos</description> <content:encoded><![CDATA[<p>Re-bonjour<br
/> Mon incident semblait être liè au fait qu&#8217;il faut placer le &lt;valve après le premier  et j&#8217;ai placé le jar dans server\lib.<br
/> J&#8217;ai des logs maintenant et je vois bien l&#8217;adresse ip du LBL mais par contre je ne vois pas l&#8217;adresse IP du client distant&#8230; je ne sais pas si le xforward est activé au niveau de l&#8217;alteon (je n&#8217;ai pas les moyens de le vérifier)</p><p>Note: Mon souci est lié au fait que quand j&#8217;active le https (CONFIDENTIAL) au niveau du tomcat (car l&#8217;admin alteon n&#8217;a pas l&#8217;habitude du gérer la redirection https&#8230;), je n&#8217;accède plus au serveur (j&#8217;ai une page blanche et ça n&#8217;aboutit jamais)</p><p>Carlos</p> ]]></content:encoded> </item> <item><title>Par : Carlos</title><link>http://blog.xebia.fr/2009/05/05/tomcat-adresse-ip-de-linternaute-load-balancer-reverse-proxy-et-header-http-x-forwarded-for/#comment-43179</link> <dc:creator>Carlos</dc:creator> <pubDate>Tue, 08 Mar 2011 16:12:27 +0000</pubDate> <guid
isPermaLink="false">http://blog.xebia.fr/?p=1914#comment-43179</guid> <description>j&#039;ai réussi à le faire fonctionner!
j&#039;ai placé le jar dans server\lib et le valve après le premier &lt;Engine... Note: Après le deuxième &lt;Engine, la redirection vers https ne fonctionne pas
j&#039;ai des logs maintenant!
J&#039;ai voulais faire ceci car on a un altéon et dès l&#039;activation du https au niveau de tomcat... on n&#039;accède plus au serveur. on y accède uniquement si on attaque le serveur par son adresse IP ou en localhost...
J&#039;ai toujours le problème, je ne sais pas si c&#039;est lié au fait que le xforward pourrait ne pas être activé au niveau de l&#039;alteon... je n&#039;ai pas accès à cette partie... j&#039;ai demandé aux admin de me le confirmé.. au niveau des access_* logs acces, je vois que l&#039;adresse du LBL et si je suis en localhost je vois bien 127.0.0.1...</description> <content:encoded><![CDATA[<p>j&#8217;ai réussi à le faire fonctionner!<br
/> j&#8217;ai placé le jar dans server\lib et le valve après le premier &lt;Engine&#8230; Note: Après le deuxième &lt;Engine, la redirection vers https ne fonctionne pas<br
/> j&#039;ai des logs maintenant!</p><p>J&#039;ai voulais faire ceci car on a un altéon et dès l&#039;activation du https au niveau de tomcat&#8230; on n&#039;accède plus au serveur. on y accède uniquement si on attaque le serveur par son adresse IP ou en localhost&#8230;<br
/> J&#039;ai toujours le problème, je ne sais pas si c&#039;est lié au fait que le xforward pourrait ne pas être activé au niveau de l&#039;alteon&#8230; je n&#039;ai pas accès à cette partie&#8230; j&#039;ai demandé aux admin de me le confirmé.. au niveau des access_* logs acces, je vois que l&#039;adresse du LBL et si je suis en localhost je vois bien 127.0.0.1&#8230;</p> ]]></content:encoded> </item> <item><title>Par : Carlos</title><link>http://blog.xebia.fr/2009/05/05/tomcat-adresse-ip-de-linternaute-load-balancer-reverse-proxy-et-header-http-x-forwarded-for/#comment-43161</link> <dc:creator>Carlos</dc:creator> <pubDate>Tue, 08 Mar 2011 11:28:54 +0000</pubDate> <guid
isPermaLink="false">http://blog.xebia.fr/?p=1914#comment-43161</guid> <description>Re-bonjour
j&#039;ai voulu dire dans \common\lib
pardon!
Carlos</description> <content:encoded><![CDATA[<p>Re-bonjour<br
/> j&#8217;ai voulu dire dans \common\lib<br
/> pardon!<br
/> Carlos</p> ]]></content:encoded> </item> <item><title>Par : Carlos</title><link>http://blog.xebia.fr/2009/05/05/tomcat-adresse-ip-de-linternaute-load-balancer-reverse-proxy-et-header-http-x-forwarded-for/#comment-43122</link> <dc:creator>Carlos</dc:creator> <pubDate>Mon, 07 Mar 2011 18:29:47 +0000</pubDate> <guid
isPermaLink="false">http://blog.xebia.fr/?p=1914#comment-43122</guid> <description>Bonjour à tous,
Je lisais cet article et j&#039;ai essayé d&#039;appliquer cette procédure sur un tomcat 5.5.17 mais je bloque sur la notion de déploiement du .jar je pense.
Quelqu&#039;un pourrait me dire s&#039;il vous plaît comment je dois faire exactement? Le placer sur tomcat_home/server/bin ou bien tomcat_home/common/bin et redémarrer le service, cela ne doit pas suffire car je n&#039;ai même pas par ex. des logs RemoteIpValve dans catalina.log
Merci par avance et je m&#039;excuse de cette question si basique...
Carlos</description> <content:encoded><![CDATA[<p>Bonjour à tous,</p><p>Je lisais cet article et j&#8217;ai essayé d&#8217;appliquer cette procédure sur un tomcat 5.5.17 mais je bloque sur la notion de déploiement du .jar je pense.</p><p>Quelqu&#8217;un pourrait me dire s&#8217;il vous plaît comment je dois faire exactement? Le placer sur tomcat_home/server/bin ou bien tomcat_home/common/bin et redémarrer le service, cela ne doit pas suffire car je n&#8217;ai même pas par ex. des logs RemoteIpValve dans catalina.log</p><p>Merci par avance et je m&#8217;excuse de cette question si basique&#8230;</p><p>Carlos</p> ]]></content:encoded> </item> <item><title>Par : Jerome</title><link>http://blog.xebia.fr/2009/05/05/tomcat-adresse-ip-de-linternaute-load-balancer-reverse-proxy-et-header-http-x-forwarded-for/#comment-36241</link> <dc:creator>Jerome</dc:creator> <pubDate>Mon, 06 Dec 2010 15:51:01 +0000</pubDate> <guid
isPermaLink="false">http://blog.xebia.fr/?p=1914#comment-36241</guid> <description>Merci pour ces informations Cyrille.
Effectivement le but n&#039;est pas de perdre de l&#039;information mais d&#039;en garder le minimum.
Je vais donc voir comment faire avec un module Apache (voir retoucher le mod_proxy) pour conserver uniquement l&#039;IP client et supprimer les IPs des proxies après avoir tracé le tout dans l&#039;access_log.</description> <content:encoded><![CDATA[<p>Merci pour ces informations Cyrille.</p><p>Effectivement le but n&#8217;est pas de perdre de l&#8217;information mais d&#8217;en garder le minimum.</p><p>Je vais donc voir comment faire avec un module Apache (voir retoucher le mod_proxy) pour conserver uniquement l&#8217;IP client et supprimer les IPs des proxies après avoir tracé le tout dans l&#8217;access_log.</p> ]]></content:encoded> </item> <item><title>Par : Cyrille Le Clerc</title><link>http://blog.xebia.fr/2009/05/05/tomcat-adresse-ip-de-linternaute-load-balancer-reverse-proxy-et-header-http-x-forwarded-for/#comment-36064</link> <dc:creator>Cyrille Le Clerc</dc:creator> <pubDate>Fri, 03 Dec 2010 17:29:01 +0000</pubDate> <guid
isPermaLink="false">http://blog.xebia.fr/?p=1914#comment-36064</guid> <description>@Jérôme,
Merci :-) .
Concernant l&#039;extraction de la &lt;em&gt;première ip&lt;/em&gt;, cette perte d&#039;information me semble assez risquée.
Le premier problème que je vois est le &quot;spoofing&quot; de header &quot;x-forwarded-for&quot; :
Il faut s&#039;assurer que le premier composant réseau qui manipule &quot;x-forwarded-for&quot; dans votre infrastructure écrase le header plutôt que de l&#039;enrichir pour prévenir le spoofing &quot;à la &lt;a href=&quot;https://addons.mozilla.org/en-US/firefox/addon/5948/&quot; rel=&quot;nofollow&quot;&gt;X-Forwarded-For Spoofer Firefox Plugin&lt;/a&gt;.
Il y a probablement d&#039;autres risques si on continue le raisonnement.
J&#039;imagine un compromis :
1. Vous &lt;em&gt;dumpez&lt;/em&gt; le header &quot;X-Forwarded-For&quot; dans les logs d&#039;un Apache avec &lt;em&gt;LogFormat &quot;%{X-Forwarded-For}i %l %u %t &quot;%r&quot; %&gt;s %b&quot; common&lt;/em&gt; ou équivalent si c&#039;est autre chose qu&#039;un Apache.
2. Dans votre couche applicative, vous remplacez la valeur du header &quot;x-forwarded-for&quot; par un &quot;&lt;code&gt;xforwardedFor = StringUtils.subStringBefore(xforwardedFor , &quot;,&quot;)&lt;/code&gt;&quot;. En java, ce serait un servlet filter de quelques lignes de code, en module apache (e.g. mod_perl) ou dans votre couche perl, il y a surement une solution. J&#039;ai regardé rapidement mod_headers, ca ne me semble pas possible, je n&#039;ai pas trouvé d&#039;expression language ou équivalent pour manipuler la chaine de caractères.
Cyrille</description> <content:encoded><![CDATA[<p>@Jérôme,</p><p>Merci <img
src='http://blog.xebia.fr/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> .</p><p>Concernant l&#8217;extraction de la <em>première ip</em>, cette perte d&#8217;information me semble assez risquée.</p><p>Le premier problème que je vois est le &laquo;&nbsp;spoofing&nbsp;&raquo; de header &laquo;&nbsp;x-forwarded-for&nbsp;&raquo; :<br
/> Il faut s&#8217;assurer que le premier composant réseau qui manipule &laquo;&nbsp;x-forwarded-for&nbsp;&raquo; dans votre infrastructure écrase le header plutôt que de l&#8217;enrichir pour prévenir le spoofing &laquo;&nbsp;à la <a
href="https://addons.mozilla.org/en-US/firefox/addon/5948/" rel="nofollow">X-Forwarded-For Spoofer Firefox Plugin</a>.</p><p>Il y a probablement d&#8217;autres risques si on continue le raisonnement.</p><p>J&#8217;imagine un compromis :<br
/> 1. Vous <em>dumpez</em> le header &laquo;&nbsp;X-Forwarded-For&nbsp;&raquo; dans les logs d&#8217;un Apache avec <em>LogFormat &laquo;&nbsp;%{X-Forwarded-For}i %l %u %t &laquo;&nbsp;%r&nbsp;&raquo; %>s %b&nbsp;&raquo; common</em> ou équivalent si c&#8217;est autre chose qu&#8217;un Apache.<br
/> 2. Dans votre couche applicative, vous remplacez la valeur du header &laquo;&nbsp;x-forwarded-for&nbsp;&raquo; par un &laquo;&nbsp;<code>xforwardedFor = StringUtils.subStringBefore(xforwardedFor , ",")</code>&laquo;&nbsp;. En java, ce serait un servlet filter de quelques lignes de code, en module apache (e.g. mod_perl) ou dans votre couche perl, il y a surement une solution. J&#8217;ai regardé rapidement mod_headers, ca ne me semble pas possible, je n&#8217;ai pas trouvé d&#8217;expression language ou équivalent pour manipuler la chaine de caractères.</p><p>Cyrille</p> ]]></content:encoded> </item> <item><title>Par : Jerome</title><link>http://blog.xebia.fr/2009/05/05/tomcat-adresse-ip-de-linternaute-load-balancer-reverse-proxy-et-header-http-x-forwarded-for/#comment-36059</link> <dc:creator>Jerome</dc:creator> <pubDate>Fri, 03 Dec 2010 14:54:46 +0000</pubDate> <guid
isPermaLink="false">http://blog.xebia.fr/?p=1914#comment-36059</guid> <description>Bonjour Cyrille,
Bravo pour cet article très instructif.
J&#039;en profite pour te poser une petite question.
J&#039;ai une application (Apache+Perl+Oracle) qui utilise le paramètre X-Forwarded-For pour tracer les utilisateurs qui se connecte. Le problème est lorsque ceux-ci passent par des proxies nous avons des erreurs (le champs qui stock les IPs dans l&#039;application est trop petit et nous ne pouvons pas l&#039;agrandir car il s&#039;agit d&#039;un fournisseur externe qui malheureusement fait la sourde oreille).
Sachant que le format du paramètre X-Forwarded-For est &quot;client1, proxy1, proxy2&quot;, aurais-tu une solution pour ne garder que &quot;client1&quot; et supprimer le reste au niveau de l&#039;Apache en frontal de l&#039;application (Apache 2.0.52) ?
Dans tous les cas, bravo pour cet excellent blog ;)</description> <content:encoded><![CDATA[<p>Bonjour Cyrille,</p><p>Bravo pour cet article très instructif.</p><p>J&#8217;en profite pour te poser une petite question.</p><p>J&#8217;ai une application (Apache+Perl+Oracle) qui utilise le paramètre X-Forwarded-For pour tracer les utilisateurs qui se connecte. Le problème est lorsque ceux-ci passent par des proxies nous avons des erreurs (le champs qui stock les IPs dans l&#8217;application est trop petit et nous ne pouvons pas l&#8217;agrandir car il s&#8217;agit d&#8217;un fournisseur externe qui malheureusement fait la sourde oreille).</p><p>Sachant que le format du paramètre X-Forwarded-For est &laquo;&nbsp;client1, proxy1, proxy2&#8243;, aurais-tu une solution pour ne garder que &laquo;&nbsp;client1&#8243; et supprimer le reste au niveau de l&#8217;Apache en frontal de l&#8217;application (Apache 2.0.52) ?</p><p>Dans tous les cas, bravo pour cet excellent blog <img
src='http://blog.xebia.fr/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /></p> ]]></content:encoded> </item> <item><title>Par : Cyrille Le Clerc</title><link>http://blog.xebia.fr/2009/05/05/tomcat-adresse-ip-de-linternaute-load-balancer-reverse-proxy-et-header-http-x-forwarded-for/#comment-31899</link> <dc:creator>Cyrille Le Clerc</dc:creator> <pubDate>Tue, 21 Sep 2010 21:51:06 +0000</pubDate> <guid
isPermaLink="false">http://blog.xebia.fr/?p=1914#comment-31899</guid> <description>Merci Reda,
Je serai en vacances pour le JUG d&#039;Octobre, je vous propose donc le JUG de Novembre :-) .
Cyrille (Xebia)</description> <content:encoded><![CDATA[<p>Merci Reda,</p><p>Je serai en vacances pour le JUG d&#8217;Octobre, je vous propose donc le JUG de Novembre <img
src='http://blog.xebia.fr/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> .</p><p>Cyrille (Xebia)</p> ]]></content:encoded> </item> <item><title>Par : reda</title><link>http://blog.xebia.fr/2009/05/05/tomcat-adresse-ip-de-linternaute-load-balancer-reverse-proxy-et-header-http-x-forwarded-for/#comment-31893</link> <dc:creator>reda</dc:creator> <pubDate>Tue, 21 Sep 2010 16:56:24 +0000</pubDate> <guid
isPermaLink="false">http://blog.xebia.fr/?p=1914#comment-31893</guid> <description>Bonjour Cyrille,
Merci énormément pour ces explications que je garderai soigneusement sous le coude, la réponse s&#039;y trouve.
&lt;code&gt;
La RemoteIpValve ne regarde le paramètre X-Forwarded-For que si elle fait confiance à l&#039;adresse IP qui se connecte au Tomcat (ie l&#039;@ ip du serveur web). Par défaut, seules les adresses en 10.*, 192.168.*, 169.254.* et 127.* sont reconnue comme de confiance.
&lt;/code&gt;
En effet, l&#039;adresse ip que Apache présente à tomcat est l&#039;adresse publique du serveur, le fait de rajouter le paramètre internalProxies a tout de suite résolu le problème.
Pour info, je n&#039;utilise pas de l&#039;IP V6.
Un grand merci aussi d&#039;avoir enrichi Tomcat avec cette valve très pratique.
PS : Bravo, votre dîner est offert au prochain JUG :)</description> <content:encoded><![CDATA[<p>Bonjour Cyrille,</p><p>Merci énormément pour ces explications que je garderai soigneusement sous le coude, la réponse s&#8217;y trouve.</p><p><code><br
/> La RemoteIpValve ne regarde le paramètre X-Forwarded-For que si elle fait confiance à l'adresse IP qui se connecte au Tomcat (ie l'@ ip du serveur web). Par défaut, seules les adresses en 10.*, 192.168.*, 169.254.* et 127.* sont reconnue comme de confiance.<br
/> </code></p><p>En effet, l&#8217;adresse ip que Apache présente à tomcat est l&#8217;adresse publique du serveur, le fait de rajouter le paramètre internalProxies a tout de suite résolu le problème.<br
/> Pour info, je n&#8217;utilise pas de l&#8217;IP V6.</p><p>Un grand merci aussi d&#8217;avoir enrichi Tomcat avec cette valve très pratique.</p><p>PS : Bravo, votre dîner est offert au prochain JUG <img
src='http://blog.xebia.fr/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p> ]]></content:encoded> </item> <item><title>Par : Cyrille Le Clerc</title><link>http://blog.xebia.fr/2009/05/05/tomcat-adresse-ip-de-linternaute-load-balancer-reverse-proxy-et-header-http-x-forwarded-for/#comment-31807</link> <dc:creator>Cyrille Le Clerc</dc:creator> <pubDate>Sun, 19 Sep 2010 22:30:51 +0000</pubDate> <guid
isPermaLink="false">http://blog.xebia.fr/?p=1914#comment-31807</guid> <description>@Reda,
Pouvez vous indiquer l&#039;adresse IP que voit le serveur Tomcat ? N&#039;utiliseriez vous pas par hasard IP V6 ? C&#039;est une mauvaise surprise que j&#039;ai déjà eu :-).
L&#039;adresse IP que voit le serveur Tomcat apparait dans les logs générées par l&#039;&lt;code&gt;AccessLogValve&lt;/code&gt; ou en invoquant &lt;code&gt;request.getRemoteAddr()&lt;/code&gt;.
La &lt;code&gt;RemoteIpValve&lt;/code&gt; ne regarde le paramètre &lt;code&gt;X-Forwarded-For&lt;/code&gt; que si elle fait confiance à l&#039;adresse IP qui se connecte au Tomcat (ie l&#039;@ ip du serveur web). Par défaut, seules les adresses en 10.*, 192.168.*, 169.254.* et 127.* sont reconnues comme de confiance.
Si votre serveur web utilise une adresse IP qui ne fait pas partie de ces plages, vous devez la déclarer avec l&#039;attribut  &lt;code&gt; internalProxies&lt;/code&gt;. Exemple si votre serveur web présente l&#039;adresse &lt;code&gt;85.158.206.34&lt;/code&gt; au serveur Tomcat :
[code]
&lt;Valve
className=&quot;org.apache.catalina.valves.RemoteIpValve&quot;
internalProxies=&quot;85\.158\.206\.34&quot;
remoteIpHeader=&quot;X-Forwarded-For&quot; /&gt;
[/code]
Pour aider au diagnostique, vous pouvez activer les logs de la &lt;code&gt;RemoteIpValve&lt;/code&gt; en ajoutant dans &lt;code&gt;$TOMCAT_BASE/conf/logging.properties&lt;/code&gt; la directive :
[code]
org.apache.catalina.valves.RemoteIpValve.level=FINEST
[/code]
Les messages de log apparaitront dans &lt;code&gt;$TOMCAT_BASE/logs/catalina.${date(yyy-MM-dd)}.log&lt;/code&gt;.
Si la RemoteIpValve ne fait pas confiance à l&#039;adresse IP de votre serveur web, vous verez le message de log :
[code]
Sep 18, 2010 12:14:43 PM org.apache.catalina.valves.RemoteIpValve invoke
Skip RemoteIpValve for request /foo with originalRemoteAddr &#039;85.158.206.34&#039;
[/code]
En revanche, si la RemoteIpValve fait confiance à l&#039;adresse IP présentée par le serveur web, le message de log est du type
[code]
Sep 18, 2010 12:14:43 PM org.apache.catalina.valves.RemoteIpValve invoke
Incoming request /foo with originalRemoteAddr &#039;85.158.206.34&#039;, originalRemoteHost=&#039;85.158.206.34&#039;, originalSecure=&#039;false&#039;, originalScheme=&#039;http&#039; will be seen as newRemoteAddr=&#039;82.66.240.18&#039;, newRemoteHost=&#039;82.66.240.18&#039;, newScheme=&#039;http&#039;, newSecure=&#039;false&#039;
[/code]
Normalement, il y a assez d&#039;informations pour débugger.
Cyrille (Xebia)</description> <content:encoded><![CDATA[<p>@Reda,</p><p>Pouvez vous indiquer l&#8217;adresse IP que voit le serveur Tomcat ? N&#8217;utiliseriez vous pas par hasard IP V6 ? C&#8217;est une mauvaise surprise que j&#8217;ai déjà eu <img
src='http://blog.xebia.fr/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> .</p><p>L&#8217;adresse IP que voit le serveur Tomcat apparait dans les logs générées par l&#8217;<code>AccessLogValve</code> ou en invoquant <code>request.getRemoteAddr()</code>.</p><p>La <code>RemoteIpValve</code> ne regarde le paramètre <code>X-Forwarded-For</code> que si elle fait confiance à l&#8217;adresse IP qui se connecte au Tomcat (ie l&#8217;@ ip du serveur web). Par défaut, seules les adresses en 10.*, 192.168.*, 169.254.* et 127.* sont reconnues comme de confiance.</p><p>Si votre serveur web utilise une adresse IP qui ne fait pas partie de ces plages, vous devez la déclarer avec l&#8217;attribut <code> internalProxies</code>. Exemple si votre serveur web présente l&#8217;adresse <code>85.158.206.34</code> au serveur Tomcat :</p><pre class="brush: plain; title: ; notranslate">
&lt;Valve
   className=&quot;org.apache.catalina.valves.RemoteIpValve&quot;
   internalProxies=&quot;85\.158\.206\.34&quot;
   remoteIpHeader=&quot;X-Forwarded-For&quot; /&gt;
</pre><p>Pour aider au diagnostique, vous pouvez activer les logs de la <code>RemoteIpValve</code> en ajoutant dans <code>$TOMCAT_BASE/conf/logging.properties</code> la directive :</p><pre class="brush: plain; title: ; notranslate">
org.apache.catalina.valves.RemoteIpValve.level=FINEST
</pre><p>Les messages de log apparaitront dans <code>$TOMCAT_BASE/logs/catalina.${date(yyy-MM-dd)}.log</code>.</p><p>Si la RemoteIpValve ne fait pas confiance à l&#8217;adresse IP de votre serveur web, vous verez le message de log :</p><pre class="brush: plain; title: ; notranslate">
Sep 18, 2010 12:14:43 PM org.apache.catalina.valves.RemoteIpValve invoke
Skip RemoteIpValve for request /foo with originalRemoteAddr '85.158.206.34'
</pre><p>En revanche, si la RemoteIpValve fait confiance à l&#8217;adresse IP présentée par le serveur web, le message de log est du type</p><pre class="brush: plain; title: ; notranslate">
Sep 18, 2010 12:14:43 PM org.apache.catalina.valves.RemoteIpValve invoke
Incoming request /foo with originalRemoteAddr '85.158.206.34', originalRemoteHost='85.158.206.34', originalSecure='false', originalScheme='http' will be seen as newRemoteAddr='82.66.240.18', newRemoteHost='82.66.240.18', newScheme='http', newSecure='false'
</pre><p>Normalement, il y a assez d&#8217;informations pour débugger.</p><p>Cyrille (Xebia)</p> ]]></content:encoded> </item> <item><title>Par : reda</title><link>http://blog.xebia.fr/2009/05/05/tomcat-adresse-ip-de-linternaute-load-balancer-reverse-proxy-et-header-http-x-forwarded-for/#comment-31767</link> <dc:creator>reda</dc:creator> <pubDate>Sat, 18 Sep 2010 19:35:29 +0000</pubDate> <guid
isPermaLink="false">http://blog.xebia.fr/?p=1914#comment-31767</guid> <description>Peut être quelques informations sur ce que j&#039;ai fais :
j&#039;ai déclaré la valve dans mon server.xml
&lt;Valve className=&quot;org.apache.catalina.valves.RemoteIpValve&quot; remoteIPHeader=&quot;X-Forwarded-For&quot;/&gt;
J&#039;utilise tomcat 6.0.26  et apache 2.2.9-10+lenny6  en mod proxy
Ayant fait un tcpdump je vois bien que apache renseigne la vraie adresse du client dans le header http : X-Forwarded-For cependant lorsque je fais request.getRemoteAddr() j&#039;obtiens l&#039;adresse ip de mon serveur au lieu du client.
Qu&#039;est ce qui cloche ?</description> <content:encoded><![CDATA[<p>Peut être quelques informations sur ce que j&#8217;ai fais :</p><p>j&#8217;ai déclaré la valve dans mon server.xml<br
/> &lt;Valve className=&quot;org.apache.catalina.valves.RemoteIpValve&quot; remoteIPHeader=&quot;X-Forwarded-For&quot;/&gt;</p><p>J&#8217;utilise tomcat 6.0.26  et apache 2.2.9-10+lenny6  en mod proxy</p><p>Ayant fait un tcpdump je vois bien que apache renseigne la vraie adresse du client dans le header http : X-Forwarded-For cependant lorsque je fais request.getRemoteAddr() j&#8217;obtiens l&#8217;adresse ip de mon serveur au lieu du client.</p><p>Qu&#8217;est ce qui cloche ?</p> ]]></content:encoded> </item> <item><title>Par : reda</title><link>http://blog.xebia.fr/2009/05/05/tomcat-adresse-ip-de-linternaute-load-balancer-reverse-proxy-et-header-http-x-forwarded-for/#comment-31766</link> <dc:creator>reda</dc:creator> <pubDate>Sat, 18 Sep 2010 18:57:51 +0000</pubDate> <guid
isPermaLink="false">http://blog.xebia.fr/?p=1914#comment-31766</guid> <description>Bonjour,
Merci pour cet article. J&#039;ai essayé celà sur mon serveur de test et ça marchait.
Tout content je cours mettre en prod mon exploit, je fais un petit test question d&#039;être sûr (on ne sait jamais) et là PAM ça ne marche pas. Pourtant j&#039;ai la même config apache / tomcat entre la test et la prod
Je me suis cassé la tête dessus mais sans succès.
Si quelqu&#039;un peut m&#039;aider ou me donner des pistes, j&#039;en serai très reconnaissant.
Merci</description> <content:encoded><![CDATA[<p>Bonjour,</p><p>Merci pour cet article. J&#8217;ai essayé celà sur mon serveur de test et ça marchait.</p><p>Tout content je cours mettre en prod mon exploit, je fais un petit test question d&#8217;être sûr (on ne sait jamais) et là PAM ça ne marche pas. Pourtant j&#8217;ai la même config apache / tomcat entre la test et la prod</p><p>Je me suis cassé la tête dessus mais sans succès.</p><p>Si quelqu&#8217;un peut m&#8217;aider ou me donner des pistes, j&#8217;en serai très reconnaissant.</p><p>Merci</p> ]]></content:encoded> </item> <item><title>Par : Cyrille Le Clerc</title><link>http://blog.xebia.fr/2009/05/05/tomcat-adresse-ip-de-linternaute-load-balancer-reverse-proxy-et-header-http-x-forwarded-for/#comment-20514</link> <dc:creator>Cyrille Le Clerc</dc:creator> <pubDate>Sun, 31 Jan 2010 21:40:52 +0000</pubDate> <guid
isPermaLink="false">http://blog.xebia.fr/?p=1914#comment-20514</guid> <description>La version 1.0.2 de xebia-servlet-extras a été publiée pour corriger &lt;a href=&quot;http://code.google.com/p/xebia-france/issues/detail?id=4&quot; rel=&quot;nofollow&quot;&gt;Issue 4: XForwardedFilter : request.secure and request.scheme are not forced to &quot;false&quot; and &quot;http&quot; if X-Forwarded-Proto=http&lt;/a&gt;.</description> <content:encoded><![CDATA[<p>La version 1.0.2 de xebia-servlet-extras a été publiée pour corriger <a
href="http://code.google.com/p/xebia-france/issues/detail?id=4" rel="nofollow">Issue 4: XForwardedFilter : request.secure and request.scheme are not forced to &laquo;&nbsp;false&nbsp;&raquo; and &laquo;&nbsp;http&nbsp;&raquo; if X-Forwarded-Proto=http</a>.</p> ]]></content:encoded> </item> <item><title>Par : Emmanuel Fusté</title><link>http://blog.xebia.fr/2009/05/05/tomcat-adresse-ip-de-linternaute-load-balancer-reverse-proxy-et-header-http-x-forwarded-for/#comment-20081</link> <dc:creator>Emmanuel Fusté</dc:creator> <pubDate>Fri, 22 Jan 2010 13:47:57 +0000</pubDate> <guid
isPermaLink="false">http://blog.xebia.fr/?p=1914#comment-20081</guid> <description>Tomcat
Normalement c&#039;est le moteur Tomcat, qui suit la pratique courante qui consiste a émettre un redirect vers l&#039;url avec le slash de fin lorsque aucune ressource sans le slash existe mais que le directory existe.
Sur un serveur apache http, la désactivation ou pas  de cette &quot;feature&quot; est contrôlée par les directives du module mod_dir. Il y a beaucoup d&#039;article sur cette problématique de canonisation/normalisation des URL a cause de &quot;mauvais&quot; comportement de certains moteur de recherche et de ignorance de la chose de la part du commun des mortels: avec ou sans slash les serveurs et navigateurs retombent sur leurs pattes moyennant un redirect discrètement généré par le serveur.
Dans le cas qui nous occupe, un appel ou un lien vers une &quot;mauvaise&quot; URL qui génère un redirect peut être très gênant car visiblement la valve n&#039;a pas d&#039;effet sur la manière dont les redirects sont générés à l&#039;intérieur du moteur http de tomcat.
Si c&#039;est un pemier mauvais appel fait par l&#039;utilisateur, on peut y remédier coté reverse proxy. Si c&#039;est des liens dans des pages générés par l&#039;appli, cela deviens plus problématique.
Comme dans apache http, la génération ou non de ces redirects se contrôle peut être avec un paramètre de configuration (je ne connais pas assez tomcat pour y répondre), mais leur génération correcte dynamiquement en fonction du X-Forwarded-Proto n&#039;est pas si simple.</description> <content:encoded><![CDATA[<p>Tomcat<br
/> Normalement c&#8217;est le moteur Tomcat, qui suit la pratique courante qui consiste a émettre un redirect vers l&#8217;url avec le slash de fin lorsque aucune ressource sans le slash existe mais que le directory existe.<br
/> Sur un serveur apache http, la désactivation ou pas  de cette &laquo;&nbsp;feature&nbsp;&raquo; est contrôlée par les directives du module mod_dir. Il y a beaucoup d&#8217;article sur cette problématique de canonisation/normalisation des URL a cause de &laquo;&nbsp;mauvais&nbsp;&raquo; comportement de certains moteur de recherche et de ignorance de la chose de la part du commun des mortels: avec ou sans slash les serveurs et navigateurs retombent sur leurs pattes moyennant un redirect discrètement généré par le serveur.<br
/> Dans le cas qui nous occupe, un appel ou un lien vers une &laquo;&nbsp;mauvaise&nbsp;&raquo; URL qui génère un redirect peut être très gênant car visiblement la valve n&#8217;a pas d&#8217;effet sur la manière dont les redirects sont générés à l&#8217;intérieur du moteur http de tomcat.<br
/> Si c&#8217;est un pemier mauvais appel fait par l&#8217;utilisateur, on peut y remédier coté reverse proxy. Si c&#8217;est des liens dans des pages générés par l&#8217;appli, cela deviens plus problématique.<br
/> Comme dans apache http, la génération ou non de ces redirects se contrôle peut être avec un paramètre de configuration (je ne connais pas assez tomcat pour y répondre), mais leur génération correcte dynamiquement en fonction du X-Forwarded-Proto n&#8217;est pas si simple.</p> ]]></content:encoded> </item> <item><title>Par : Cyrille Le Clerc</title><link>http://blog.xebia.fr/2009/05/05/tomcat-adresse-ip-de-linternaute-load-balancer-reverse-proxy-et-header-http-x-forwarded-for/#comment-20078</link> <dc:creator>Cyrille Le Clerc</dc:creator> <pubDate>Fri, 22 Jan 2010 12:42:40 +0000</pubDate> <guid
isPermaLink="false">http://blog.xebia.fr/?p=1914#comment-20078</guid> <description>Etrange, étrange :-)
* Qui génère le redirect ? Tomcat ? Un serveur Apache ou équivalent en amont ?
* Si c&#039;est Tomcat qui génère la 302 ? Le moteur Tomcat ? Comment le ferait-il ? La webapp ? Une Security Constraint dans web.xml ? Spring Security ? &lt;a href=&quot;http://tuckey.org/urlrewrite/&quot; rel=&quot;nofollow&quot;&gt;Url Rewrite Filter&lt;/a&gt; ?
* La requête 302 apparait-elle dans l&#039;access log Tomcat ?
Cyrille
PS : par 302, j&#039;entends l&#039;ensemble des &lt;a href=&quot;http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.3&quot; rel=&quot;nofollow&quot;&gt;codes 3xx de redirection&lt;/a&gt;.</description> <content:encoded><![CDATA[<p>Etrange, étrange <img
src='http://blog.xebia.fr/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /></p><p>* Qui génère le redirect ? Tomcat ? Un serveur Apache ou équivalent en amont ?<br
/> * Si c&#8217;est Tomcat qui génère la 302 ? Le moteur Tomcat ? Comment le ferait-il ? La webapp ? Une Security Constraint dans web.xml ? Spring Security ? <a
href="http://tuckey.org/urlrewrite/" rel="nofollow">Url Rewrite Filter</a> ?<br
/> * La requête 302 apparait-elle dans l&#8217;access log Tomcat ?</p><p>Cyrille</p><p>PS : par 302, j&#8217;entends l&#8217;ensemble des <a
href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.3" rel="nofollow">codes 3xx de redirection</a>.</p> ]]></content:encoded> </item> <item><title>Par : Emmanuel Fusté</title><link>http://blog.xebia.fr/2009/05/05/tomcat-adresse-ip-de-linternaute-load-balancer-reverse-proxy-et-header-http-x-forwarded-for/#comment-20070</link> <dc:creator>Emmanuel Fusté</dc:creator> <pubDate>Fri, 22 Jan 2010 10:58:42 +0000</pubDate> <guid
isPermaLink="false">http://blog.xebia.fr/?p=1914#comment-20070</guid> <description>Pardon, j&#039;ai pas été assez précis: les redirects sont générés avec http comme protocole et non https. Je sais pas si la valve est capable normalement d&#039;influer sur la génération de ces redirects.
Par contre, on récupère bien https comme proto dans l&#039;application.</description> <content:encoded><![CDATA[<p>Pardon, j&#8217;ai pas été assez précis: les redirects sont générés avec http comme protocole et non https. Je sais pas si la valve est capable normalement d&#8217;influer sur la génération de ces redirects.<br
/> Par contre, on récupère bien https comme proto dans l&#8217;application.</p> ]]></content:encoded> </item> <item><title>Par : Cyrille Le Clerc</title><link>http://blog.xebia.fr/2009/05/05/tomcat-adresse-ip-de-linternaute-load-balancer-reverse-proxy-et-header-http-x-forwarded-for/#comment-20068</link> <dc:creator>Cyrille Le Clerc</dc:creator> <pubDate>Fri, 22 Jan 2010 10:53:14 +0000</pubDate> <guid
isPermaLink="false">http://blog.xebia.fr/?p=1914#comment-20068</guid> <description>Merci pour la bonne nouvelle.
En revanche, je ne saisis pas votre point &lt;em&gt;&quot;sur les redirects générés lors de l&#039;accès à un répertoire sans le / final&quot;&lt;/em&gt;.
Qu&#039;est ce qui ne marche pas ? L&#039;identification du protocole http/https ou la résolution de l&#039;adresse ip de l&#039;appelant ?
Cyrille</description> <content:encoded><![CDATA[<p>Merci pour la bonne nouvelle.</p><p>En revanche, je ne saisis pas votre point <em>&laquo;&nbsp;sur les redirects générés lors de l&#8217;accès à un répertoire sans le / final&nbsp;&raquo;</em>.</p><p>Qu&#8217;est ce qui ne marche pas ? L&#8217;identification du protocole http/https ou la résolution de l&#8217;adresse ip de l&#8217;appelant ?</p><p>Cyrille</p> ]]></content:encoded> </item> <item><title>Par : Emmanuel Fusté</title><link>http://blog.xebia.fr/2009/05/05/tomcat-adresse-ip-de-linternaute-load-balancer-reverse-proxy-et-header-http-x-forwarded-for/#comment-20064</link> <dc:creator>Emmanuel Fusté</dc:creator> <pubDate>Fri, 22 Jan 2010 10:12:08 +0000</pubDate> <guid
isPermaLink="false">http://blog.xebia.fr/?p=1914#comment-20064</guid> <description>Tout a l&#039;air de fonctionner comme prévu.
Merci !
Par contre, il semble que cela n&#039;ait aucun effet sur les redirects générés lors de l&#039;accès à un répertoire sans le / final. Mais ça peut se gérer coté reverse proxy.
Emmanuel.</description> <content:encoded><![CDATA[<p>Tout a l&#8217;air de fonctionner comme prévu.<br
/> Merci !<br
/> Par contre, il semble que cela n&#8217;ait aucun effet sur les redirects générés lors de l&#8217;accès à un répertoire sans le / final. Mais ça peut se gérer coté reverse proxy.</p><p>Emmanuel.</p> ]]></content:encoded> </item> <item><title>Par : Emmanuel Fusté</title><link>http://blog.xebia.fr/2009/05/05/tomcat-adresse-ip-de-linternaute-load-balancer-reverse-proxy-et-header-http-x-forwarded-for/#comment-19921</link> <dc:creator>Emmanuel Fusté</dc:creator> <pubDate>Tue, 19 Jan 2010 14:27:31 +0000</pubDate> <guid
isPermaLink="false">http://blog.xebia.fr/?p=1914#comment-19921</guid> <description>Premier test a distance concluant: plus de plantage au démarrage.
Jeudi je pourrai faire un retour sur des tests fonctionnels.
Emmanuel.</description> <content:encoded><![CDATA[<p>Premier test a distance concluant: plus de plantage au démarrage.<br
/> Jeudi je pourrai faire un retour sur des tests fonctionnels.</p><p>Emmanuel.</p> ]]></content:encoded> </item> <item><title>Par : Cyrille Le Clerc</title><link>http://blog.xebia.fr/2009/05/05/tomcat-adresse-ip-de-linternaute-load-balancer-reverse-proxy-et-header-http-x-forwarded-for/#comment-19877</link> <dc:creator>Cyrille Le Clerc</dc:creator> <pubDate>Mon, 18 Jan 2010 16:54:30 +0000</pubDate> <guid
isPermaLink="false">http://blog.xebia.fr/?p=1914#comment-19877</guid> <description>Merci Emmanuel, j&#039;attends votre retour pour mette à jour le ce billet et la page de la wiki.
Cyrille (Xebia).</description> <content:encoded><![CDATA[<p>Merci Emmanuel, j&#8217;attends votre retour pour mette à jour le ce billet et la page de la wiki.</p><p>Cyrille (Xebia).</p> ]]></content:encoded> </item> <item><title>Par : Emmanuel Fusté</title><link>http://blog.xebia.fr/2009/05/05/tomcat-adresse-ip-de-linternaute-load-balancer-reverse-proxy-et-header-http-x-forwarded-for/#comment-19876</link> <dc:creator>Emmanuel Fusté</dc:creator> <pubDate>Mon, 18 Jan 2010 16:46:00 +0000</pubDate> <guid
isPermaLink="false">http://blog.xebia.fr/?p=1914#comment-19876</guid> <description>Un grand grand merci !! je teste dès que possible et vous fait le retour ici même.
Emmanuel.</description> <content:encoded><![CDATA[<p>Un grand grand merci !! je teste dès que possible et vous fait le retour ici même.</p><p>Emmanuel.</p> ]]></content:encoded> </item> <item><title>Par : Cyrille Le Clerc</title><link>http://blog.xebia.fr/2009/05/05/tomcat-adresse-ip-de-linternaute-load-balancer-reverse-proxy-et-header-http-x-forwarded-for/#comment-19874</link> <dc:creator>Cyrille Le Clerc</dc:creator> <pubDate>Mon, 18 Jan 2010 15:36:36 +0000</pubDate> <guid
isPermaLink="false">http://blog.xebia.fr/?p=1914#comment-19874</guid> <description>Re bonjour Emmanuel,
Pouvez-vous essayer cette version &lt;a href=&quot;http://xebia-france.googlecode.com/files/xebia-tomcat-extras-tc55-1.0.0.jar&quot; rel=&quot;nofollow&quot;&gt;xebia-tomcat-extras-tc55-1.0.0.jar&lt;/a&gt; destinée à Tomcat 5.x ?
J&#039;ai testé avec Tomcat 5.5.28.
Cyrille (Xebia)</description> <content:encoded><![CDATA[<p>Re bonjour Emmanuel,</p><p>Pouvez-vous essayer cette version <a
href="http://xebia-france.googlecode.com/files/xebia-tomcat-extras-tc55-1.0.0.jar" rel="nofollow">xebia-tomcat-extras-tc55-1.0.0.jar</a> destinée à Tomcat 5.x ?<br
/> J&#8217;ai testé avec Tomcat 5.5.28.</p><p>Cyrille (Xebia)</p> ]]></content:encoded> </item> <item><title>Par : Cyrille Le Clerc</title><link>http://blog.xebia.fr/2009/05/05/tomcat-adresse-ip-de-linternaute-load-balancer-reverse-proxy-et-header-http-x-forwarded-for/#comment-19873</link> <dc:creator>Cyrille Le Clerc</dc:creator> <pubDate>Mon, 18 Jan 2010 14:23:31 +0000</pubDate> <guid
isPermaLink="false">http://blog.xebia.fr/?p=1914#comment-19873</guid> <description>Bonjour Emmanuel,
Je reproduis sur Tomcat 5.5.28. Je prépare une version pour Tomcat 5.5 juste pour vous ;-).
Cyrille</description> <content:encoded><![CDATA[<p>Bonjour Emmanuel,</p><p>Je reproduis sur Tomcat 5.5.28. Je prépare une version pour Tomcat 5.5 juste pour vous <img
src='http://blog.xebia.fr/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> .</p><p>Cyrille</p> ]]></content:encoded> </item> <item><title>Par : Emmanuel Fusté</title><link>http://blog.xebia.fr/2009/05/05/tomcat-adresse-ip-de-linternaute-load-balancer-reverse-proxy-et-header-http-x-forwarded-for/#comment-19854</link> <dc:creator>Emmanuel Fusté</dc:creator> <pubDate>Mon, 18 Jan 2010 09:41:05 +0000</pubDate> <guid
isPermaLink="false">http://blog.xebia.fr/?p=1914#comment-19854</guid> <description>Malheureusement, ce n&#039;est pas sur un Linux, mais sur un Windows.
tomcat-juli.jar est bien présent dans $CATALINA_HOME/bin
Le tomcat a été installé par l&#039;éditeur du logiciel déployé sur celui ci. Il semble être installé a partir de la version standard de la fondation Apache.
Je vais vérifier les scripts de démarrage comme spécifié dans la FAQ.
Merci !
Emmanuel</description> <content:encoded><![CDATA[<p>Malheureusement, ce n&#8217;est pas sur un Linux, mais sur un Windows.<br
/> tomcat-juli.jar est bien présent dans $CATALINA_HOME/bin<br
/> Le tomcat a été installé par l&#8217;éditeur du logiciel déployé sur celui ci. Il semble être installé a partir de la version standard de la fondation Apache.<br
/> Je vais vérifier les scripts de démarrage comme spécifié dans la FAQ.<br
/> Merci !<br
/> Emmanuel</p> ]]></content:encoded> </item> <item><title>Par : Cyrille Le Clerc</title><link>http://blog.xebia.fr/2009/05/05/tomcat-adresse-ip-de-linternaute-load-balancer-reverse-proxy-et-header-http-x-forwarded-for/#comment-19840</link> <dc:creator>Cyrille Le Clerc</dc:creator> <pubDate>Mon, 18 Jan 2010 01:02:27 +0000</pubDate> <guid
isPermaLink="false">http://blog.xebia.fr/?p=1914#comment-19840</guid> <description>Bonjour Emmanuel,
Pouvez-vous vérifier que vous n&#039;êtes pas victime d&#039;un problème de &lt;em&gt;repackaging astucieux&lt;/em&gt; de Tomcat par une distribution Linux comme décrit dans &lt;a href=&quot;http://wiki.apache.org/tomcat/FAQ/Logging#Q9&quot; rel=&quot;nofollow&quot;&gt;Since java.logging is the default commons-logging implementation in Tomcat, why is it not working in my Linux distribution?&lt;/a&gt; ?
Avez-vous un jar &lt;code&gt;tomcat-juli.jar&lt;/code&gt; dans le répertoire &lt;code&gt;$CATALINA_HOME/bin&lt;/code&gt; ? Si vous avez installé Tomcat 5 avec un RPM pour RHEL, la commande pour lister les fichiers installés devraient-être &quot;&lt;code&gt;yum list installed tomcat5&lt;/code&gt;&quot;.
Si vous utilisez un Tomcat packagé par une distribution Linux, une solution plus radicale mais surtout dans l&#039;esprit du produit est de la remplacer par une installation Tomcat standard téléchargée sur &lt;a href=&quot;http://tomcat.apache.org/&quot; rel=&quot;nofollow&quot;&gt;http://tomcat.apache.org/&lt;/a&gt; .
Cyrille</description> <content:encoded><![CDATA[<p>Bonjour Emmanuel,</p><p>Pouvez-vous vérifier que vous n&#8217;êtes pas victime d&#8217;un problème de <em>repackaging astucieux</em> de Tomcat par une distribution Linux comme décrit dans <a
href="http://wiki.apache.org/tomcat/FAQ/Logging#Q9" rel="nofollow">Since java.logging is the default commons-logging implementation in Tomcat, why is it not working in my Linux distribution?</a> ?</p><p>Avez-vous un jar <code>tomcat-juli.jar</code> dans le répertoire <code>$CATALINA_HOME/bin</code> ? Si vous avez installé Tomcat 5 avec un RPM pour RHEL, la commande pour lister les fichiers installés devraient-être &laquo;&nbsp;<code>yum list installed tomcat5</code>&laquo;&nbsp;.</p><p>Si vous utilisez un Tomcat packagé par une distribution Linux, une solution plus radicale mais surtout dans l&#8217;esprit du produit est de la remplacer par une installation Tomcat standard téléchargée sur <a
href="http://tomcat.apache.org/" rel="nofollow">http://tomcat.apache.org/</a> .</p><p>Cyrille</p> ]]></content:encoded> </item> </channel> </rss>
