Apache SSL + tomcat

Questions sur les problèmes d'intégration de Tomcat avec Apache (mod_jk, mod_jk2...).

Modérateur : Modérateurs

Avatar de l’utilisateur
littleloulou
Nouveau membre
Messages : 4
Inscription : lun. 19 sept. 2005, 10:24

Messagepar littleloulou » lun. 19 sept. 2005, 11:10

Bonjour,
Je suis nouveau sous linux et je viens de m'installer une débian chez moi avec Apache 1.3.x, Apache SSL (j'ai oublié la version) et tomcat 5.0.28.
Mon souci est de faire marcher le tout mais en SSL.
Je me pose plusieurs questions :

- est-il possible de faire tourner apache-ssl sans apache.
- si oui est-il possible de faire tourner mod_jk directement avec apache-ssl.

Moi tout ce que j'ai réussi à faire c'est :
- faire en sorte que toute requête Apache soit redirigée sur Apache SSL (directive ResirectPermanent sur VirtualHost _default_).
- faire fonctionner une webapp test sur tomcat standalone (http://localhost:8080/test).

Par contre je n'arrive pas à faire fonctionner le mod_jk.
Ca peut être du à 2 raisons : les tutoriaux parlent de la config sur un apache normal. Moi j'ai tenté directement sur apache-ssl et forcément là c'est le drame.
Mes directives JkMount font planter apache-ssl, il ne démarre plus.
Je me demandais donc s'il fallait faire la config normalement dans le apache simple et laisser la redirection automatique ou ou s'il existe une config directement dans apache SSL qui me permettrait de m'affranchir d'apache et m'éviterait de maintenir 2 confs (SSL et normale).

Voilà, merci.

Cordialement, Louis

Avatar de l’utilisateur
littleloulou
Nouveau membre
Messages : 4
Inscription : lun. 19 sept. 2005, 10:24

Messagepar littleloulou » lun. 19 sept. 2005, 23:09

Bon problème résolu ...
il fallait comprendre que :
- les 2 serveurs apache et apache-ssl sont 2 process qui n'ont tien à voir entre eux !!!!
donc la conf de l'un est indépendante de l'autre

alors considérons une appli qui fonctionne sous tomcat avec l'url <a href='http://localhost:8080/test' target='_blank'>http://localhost:8080/test</a>

j'ai fait fonctionner cette appli d'abord sur apache simple en faisant ceci :

1 - définition du workers.properties sous /etc/apache/workers.properties :

Code : Tout sélectionner

workers.tomcat_home=${TOMCAT_HOME}
workers.java_home=${JAVA_HOME}
ps=/

worker.list=worker1
worker.worker1.type=ajp13
worker.worker1.host=localhost
worker.worker1.port=8009
worker.worker1.lbfactor=50
worker.worker1.cachesize=10
worker.worker1.cache_timeout=600
worker.worker1.socket_keepalive=1
worker.worker1.socket_timeout=300


2 - chargement du module mod_jk dans un fichier mod_jk.conf sous /etc/apache/conf.d/mod_jk.conf :

Code : Tout sélectionner

<IfModule mod_jk.c>
   LoadModule jk_module /usr/lib/apache/1.3/mod_jk.so

   # Conf mod_jk tomcat
   JkWorkersFile /etc/apache/workers.properties
   JkLogFile /usr/local/tomcat-5.0.28/logs/mod_jk.log
   JkLogLevel warn
   JkMount /test/* worker1
   JkMount /*.jsp worker1
   JkMount /*.do worker1
</IfModule>

C'est ici que je charge le module, que je le met en relation tomcat et apache grace au worker et que je monte mon répertoire /test.

3 - config spécifique à l'application (sécu et autres) dans /etc/apache/conf.d/test.conf:

Code : Tout sélectionner

<Directory "/usr/local/tomcat-5.0.28/webapps/test">
      Options Indexes FollowSymLinks
      DirectoryIndex index.jsp
</Directory>

# Deny direct access to WEB-INF and META-INF
<Location "/test/WEB-INF/*">
      AllowOverride None
      deny from all
</Location>

<Location "/test/META-INF/*">
      AllowOverride None
      deny from all
</Location>


Sous server.xml j'ai décomenté la ligne concernant le connecteur

Code : Tout sélectionner

<Connector port="8009" URIEncoding="UTF-8" protocol="AJP/1.3" />

j'ai redémarré tomcat et apache et voili ....

j'ai copié les 2 derniers fichiers de conf dans /etc/apache-ssl/conf.d j'ai arrêté apache normal, démarré apache-ssl et j'accédais bien à <a href='https://localhost/test' target='_blank'>https://localhost/test</a>
j'ai arrêté l'apache-ssl, j'ai redémarré l'autre et j'accédais bien à <a href='http://localhost/test' target='_blank'>http://localhost/test</a>.
J'ai arrêté l'apache normal, je lui ai rajouté cette directive :

Code : Tout sélectionner

<VirtualHost _default_:80>
   RedirectPermanent / https://localhost/
</VirtualHost>


Je l'ai redémarré et maintenant les requêtes http sont redirigées en https !!!!!!!!

Alors le truc à savoir c'est que les serveurs sont indépendants et l'un ne devine pas la conf de l'autre et il faut les configurer tous les 2 !!!! C'est ce que je n'avais pas compris.

Bon je sais que ca manque surement d'élégance dans les confs (je comprends pas tout encore) mais je suis débutant et je me soigne hihi.
J'espère que ca en aidera qques uns car moi ca fait 3 jours que je galèrait dessus.

Cordialement, louis

Avatar de l’utilisateur
littleloulou
Nouveau membre
Messages : 4
Inscription : lun. 19 sept. 2005, 10:24

Messagepar littleloulou » mar. 20 sept. 2005, 23:32

C'était trop beau pour être vrai :(
J'ai remarqué ce soir qu'en fait mon url <a href='https://localhost/test' target='_blank'>https://localhost/test</a> ne fonctionnait pas (erreur 404).
Du moins j'ai remarqué ceci : en redémarrant tomcat cette url ne fonctionnait plus.
Par contre en accédant à <a href='http://localhost:8080/test' target='_blank'>http://localhost:8080/test</a> ca fonctionne puis l'url <a href='https://localhost/test' target='_blank'>https://localhost/test</a> fonctionne ensuite.
J'en ai conclu qu'une fois compilée la page est bien affichée sinon elle ne l'est pas.
Et là je coince, si vous avez des idées .....
Louis désespéré :(

Avatar de l’utilisateur
littleloulou
Nouveau membre
Messages : 4
Inscription : lun. 19 sept. 2005, 10:24

Messagepar littleloulou » mer. 21 sept. 2005, 10:00

Ya du nouveau !!!
en fait il semblerait que ca n'avait rien à voir avec la compil des jsp ou non.
c'était juste le slash de fin qui manquait .... donc <a href='https://localhost/test/' target='_blank'>https://localhost/test/</a> fonctionne.
Ouf car franchement j'étais à court d'idées !
Pourvu que ca dure ...
A pluche.

Louis

Avatar de l’utilisateur
bgarnier
Membre ancien
Membre ancien
Messages : 180
Inscription : mer. 04 févr. 2004, 12:45
Localisation : Ile de france

Messagepar bgarnier » mer. 21 sept. 2005, 14:34

Bonjour,

de mémoire, c'est la directive "UseCanonicalName" dans le fichier de configuration Apache qu'il faut mettre à "on" pour régler ce petit inconvenient.

Cordialement Benoît

juan75019
Nouveau membre
Messages : 3
Inscription : ven. 13 févr. 2009, 14:43

Re: Apache SSL + tomcat

Messagepar juan75019 » lun. 16 févr. 2009, 15:25

bonjour j ai un problème a peut pres similaire

mes vhost apache fonctionne parfaitement

en revanche malgré la configuration de mes vhost je ne peut accéder a mes servlet que par chemin absolu.

Lorsque je tente l'acces par mon vhost apache me sert la page mais affiche le code et ne l exécute pas.


ex:


http://jeru.homelinux.com/
la je tombe bien sur ma racine
qui est /opt/CATALINAHOME/Rentasoft/jsp-examples

en revanche je ne peut acceder au jsp que par ce chemins
http://jeru.homelinux.com/CATALINAHOME/ ... s/test.jsp

voici ma config
http.conf
<VirtualHost *:80>
ServerAdmin webmaster@dummy-host.example.com
DocumentRoot /opt/RentaSoft/tomcat/webapps/Rentasoft/jsp-examples/
ServerName jeru.homelinux.com
JkWorkersFile "/opt/RentaSoft/httpd/conf/workers.properties"
JkLogFile "/opt/RentaSoft/httpd/logs/mod_jk.log"
JkLogLevel error
JkMount /*.jsp default
JkMount /*/servlet/* default
JkMount /manager/* default
JkMount /admin/* default

</VirtualHost>


mon vhost tomcat

<Host appBase="Rentasoft/jsp-examples" autoDeploy="true" debug="0" name="jeru.homelinux.com" unpackWARs="true">
<Context path="" docBase="" debug="1"/>
</Host>

Heeeeellllp please. :wink:


Revenir vers « Intégration Apache »

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 1 invité