Tous,
Nous rencontrons un problème particulier.
Nous avons Tomcat 6.0.24 avec Apache2.2.3. Nous avons un VirtualHost desservant le port 80 et un ServerAlias. Apache transmet simplement "/" à l'équilibreur de charge de Tomcat.
---------httpd.conf snippet:--------
<VirtualHost *:80>
ServerName wwwprod.lsa.umich.edu
ServerAlias wwwprod www www.lsa.umich.edu
Redirect / balancer://dsmdelivery/
ProxyPass / balancer://dsmdelivery/
ProxyPassReverse / balancer://dsmdelivery/
TraceEnable Off
</VirtualHost>
------------Fin de l'extrait de httpd.conf----
Tomcat ajoute un "/" supplémentaire en créant une réponse 302 pour l'un des alias de serveur, et non pour l'autre comme dans la sortie curl ci-dessous, lorsque l'URI n'a pas de "/" à la fin.
Vous le remarquerez donc :
http://www.lsa.umich.edu/polisci <== revient avec un "//" dans l'en-tête de l'emplacement du message de réponse de la redirection 302
http://wwwprod.lsa.umich.edu/polisci <== n'a pas de "//" dans l'en-tête Location du 302
-------------- Résultats de Curl pour les deux hôtes virtuels : -------------
$ curl -v http://wwwprod.lsa.umich.edu/polisci
* About to connect() to wwwprod.lsa.umich.edu port 80 (#0)
* Trying 141.211.177.191... connected
* Connected to wwwprod.lsa.umich.edu (141.211.177.191) port 80 (#0)
GET /polisci HTTP/1.1
User-Agent: curl/7.19.7 (universal-apple-darwin10.0) libcurl/7.19.7 OpenSSL/0.9.8r zlib/1.2.3
Host: wwwprod.lsa.umich.edu
Accept: */*
< HTTP/1.1 302 Moved Temporarily < Server: Apache-Coyote/1.1
< Location: http://wwwprod.lsa.umich.edu/polisci/
< Transfer-Encoding: chunked
< Date: Tue, 13 Sep 2011 20:28:29 GMT
<
* Connection #0 to host wwwprod.lsa.umich.edu left intact
* Closing connection #0
$
$
$ curl -v http://www.lsa.umich.edu/polisci
* About to connect() to www.lsa.umich.edu port 80 (#0)
* Trying 141.211.177.203... connected
* Connected to www.lsa.umich.edu (141.211.177.203) port 80 (#0)
GET /polisci HTTP/1.1
User-Agent: curl/7.19.7 (universal-apple-darwin10.0) libcurl/7.19.7 OpenSSL/0.9.8r zlib/1.2.3
Host: www.lsa.umich.edu
Accept: */*
< HTTP/1.1 302 Moved Temporarily < Date: Tue, 13 Sep 2011 20:28:47 GMT
< Server: Apache-Coyote/1.1
< Location: http://www.lsa.umich.edu//polisci/
< Content-Length: 0
< X-Cnection: close
< Content-Type: text/plain; charset=UTF-8
< Set-Cookie: BIGipServerlsa-cmsproddlv_pool=3232879501.20480.0000; path=/
<
* Connection #0 to host www.lsa.umich.edu left intact
* Closing connection #0
Remarquez le "//" dans la deuxième sortie ci-dessus. C'est ce qui provoque la rupture des liens.
(Les deux hôtes virtuels ont un serveur virtuel défini sur le F5. Le serveur virtuel "www.lsa.umich.edu" est associé à des iRules. Celles-ci n'ont pas été modifiées récemment).
Je vous remercie de vos commentaires.
Danke!