Tomcat derrière Apache et SSL
J'ai cherche partout mais impossible de trouver une solution claire pour la situation suivante:
Nous avons une application web (Grain + Ressort de Sécurité) qui est en cours d'exécution dans tomcat, derrière apache. Partie de l'application doit s'exécuter sur https, donc à l'aide de Printemps de Canal de Sécurité de Sécurité, chaque fois que vous accédez à une partie de l'application qui est sûr, le Printemps va vous rediriger vers https avec un code d'état 302.
Maintenant, tomcat est mis en place pour connaître le https et certificats, donc il sait comment gérer le ssl. En fait, lors de la rétrogradation apache en allant directement à l'url et le port de frapper tomcat directement, tout fonctionne à 100%.
Le problème vient lors de la mise apache en front de tomcat. La config d'apache que nous avons pour le moment fonctionne très bien pour les non-sécurisé parties de l'application. Nous sommes à l'aide de mod_jk pour proxy apache et tomcat.
Cependant, dès que vous essayez d'accéder à une partie sécurisée de l'application, le Printemps va vous rediriger, il va frapper le
<VirtualHost _default_:443> ... </VirtualHost>
partie de la config d'apache... et c'est là que le problème commence.
De ce que j'ai lu, il est possible pour apache, via mod_jk, de faire passer le ssl manipulation de tomcat. Mais nous n'arrivons pas à obtenir la configuration est correcte. Depuis tomcat est déjà configuré pour le ssl, il sait où les certificats sont, de Printemps et de Sécurité est mis en place, nous aimerions tomcat pour gérer tous les ssl, et apache simplement à pion à tomcat.
Est-ce possible, ou alors j'ai loupé quelque chose? Quelqu'un aurait-il quelques instructions claires quant à la façon de configurer cela? Toute aide sera grandement appréciée.
Nous utilisons Apache 2.2 et tomat 7.0.27
Grâce
OriginalL'auteur Nico Huysamen | 2012-04-06
Vous devez vous connecter pour publier un commentaire.
Vous ne pouvez pas simplement le relais SSL/TLS trafic de Tomcat d'Apache. Votre connexion SSL se termine à Apache, et alors vous devriez proxy inverse de la circulation de Tomcat (SSL est rarement utile dans ce cas), ou vous rendre les clients se connectent à Tomcat directement et de le laisser gérer la connexion SSL.
Je ne sais pas où vous avez lu que
mod_jk
peut passer sur la connexion SSL à Tomcat. Il aurait besoin d'un relais de prise directement, donc en contournant l'AJP protocole utilisé parmod_jk
(par la voie demod_proxy_ajp
est la nouvelle façon, ou mêmemod_proxy_http
).Je ne suis pas sûr de savoir pourquoi vous voulez Apache pour être en face de Tomcat si vous voulez Tomcat pour gérer les demandes SSL de toute façon. Si cela a à voir avec des numéros de port ou de quelque chose, utiliser une règle de pare-feu pour rediriger le port 443 vers le port Tomcat.
En outre, être prudent sur la façon dont ces redirections automatiques de HTTP à HTTPS: elles ne se produisent après la première requête HTTP a été faite.
OriginalL'auteur Bruno
À partir de votre post, je ne peux pas dire si vous rencontrez un problème lors de l'obtention de ssl pour travailler sur Apache ou si, depuis que vous avez certaines parties de votre application sur http, Apache jamais redirige sur ssl. Notez que son tout à fait normal d'avoir plusieurs "segments" sur ssl (sens utilisateur -> Apache sur ssl et Apache -> tomcat sur ssl).
1. Si le problème est d'obtenir ssl pour travailler sur Apache, vous devez vous assurer que le protocole ssl est installé correctement sur l'Apache fin.
2. Si la question est "redirection", essayez et garder à l'écart des url http et https. Comme /something.mysite.com/non_ssl/et /something.mysite.com/ssl/. Ce sera plus facile d'écrire les règles de Apache.
OriginalL'auteur souser