Re: tomcat6 et apache se disputent les mêmesports...

Page principale

Répondre à ce message
Auteur: Olivier Allard-Jacquin
Date:  
À: GUILDE
Anciens-sujets: tomcat6 et apache se disputent les mêmes ports...
Nouveaux-sujets: Re: tomcat6 et apache se disputent les mêmes ports...
Sujet: Re: tomcat6 et apache se disputent les mêmesports...
    Bonjour,

Le 04/04/2012 10:48, Patrice Karatchentzeff a écrit :
> Salut,
>
> Je continue mon combat pour intégrer tomcat6 et Apache.
>
> J'ai besoin des deux (un serveur tomcat pour icescrum) et un wiki
> (géré par Apache) sur la même machine.
>
> Tout fonctionne nickel (merci Debian) en installant et configurant le
> module libapache2-mod-jk
>
> Le serveur tomcat6 répond sur les ports 8080 et 8443 et le serveur
> Apache sur les ports 80 et 443.
>
> Je voudrai maintenant que la machine répondent uniquement sur la
> racine du serveur
>
> /icescrum ---> renvoie à tomcat6
> /wiki ---> renvoie à Apache
>
> Normalement, le module ci-dessus est censé faire ce boulot :
>
> # cat /etc/apache2/mods-available/jk.conf
>
> # Sample mod_jk configuration
> # for Apache 2
>
> # The location where mod_jk will find the workers definitions
> JkWorkersFile    /etc/libapache2-mod-jk/workers.properties

>
> # The location where mod_jk is going to place its log file
> JkLogFile     /var/log/apache2/mod_jk.log

>
> JkLogLevel     debug

>
> # Assign specific URLs to Tomcat. In general the structure of a
> # JkMount directive is: JkMount [URL prefix] [Worker name]
>
> JkMount /* ajp13_worker
>
> JkUnMount /wiki/* ajp13_worker
> JkUnMount /*.html ajp13_worker
> JkUnMount /*.jpeg ajp13_worker
> JkUnMount /*.gif ajp13_worker
>
>
> Autrement dit, on file tout à tomcat sauf /wiki et les extensions
> naturelles du HTML (images, fichier HTML)
>
> Les logs sont OK :
>
> [Tue Apr 03 15:28:35 2012] [notice] Apache/2.2.16 (Debian)
> mod_jk/1.2.30 PHP/5.3.3-7+squeeze8 with Suhosin-Patch mod_ssl/2.2.16
> OpenSSL/0.9.8o configured -- resuming normal operations
>
> Le truc sur lequel je bute est comment dire à Apache que je veux que
> icescrum/ renvoie vers icescrum:8443/ ? J'ai essayé avec des Locations
> mais ça ne fonctionne pas. Bien entendu, avec iptables, je convertis
> tout le trafic et je perds l'alternance Apache/tomcat6...
>
> Une idée ?
>
> Merci
>
> PK
>


    Personnellement, je n'aurais pas pris ce chemin-là, mais j'aurai
utiliser la technique du "reverse proxy" :
- C'est Apache qui réponds sur les ports 80 et 443
- Mais lorsque l'utilisateur veut aller sur certain répertoire
(/icescrum/ dans ton cas), alors Apache refile le bébé au serveur qui va
bien  (tomcat6).


    Concrètement, dans ton fichier de configuration Apache (exemple :
/etc/apache/site-enable/default), tu mets :


<Proxy http://localhost:8080/>
# Remarque : Configurer ici les restriction d'accès
Order deny,allow
Deny from all
Allow from all
</Proxy>

ProxyPass        /icescrum/       http://localhost:8080/
ProxyPassReverse /icescrum/       http://localhost:8080/


    Difficile de faire plus simple.


    Et pour le tomcat sur le port 8443, tu fais la même chose dans le
fichier de configuration d'Apache qui gère le port 443.


    Pour info, le reverse proxy fonctionne tout aussi bien sur du localhost
ou sur un serveur distant. Tu pourrais par exemple très bien mettre un
"/google/" dans ton site, et rediriger tout les requêtes qui arrivent
dessus sur le site de Google.


    Cordialement,


                        Olivier
-- 
~~~~~~~  _____/\_____  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Phoenix /   _ \/ _   \    Olivier Allard-Jacquin
       /   / \  / \   \   Web:  http://olivieraj.free.fr/
      /___/  /  \  \___\  Mail: olivieraj@???
~~~~ /////  ///\\\  \\\\\ ~~~~~~~~~~~~~~~~~~~~~~~ Linux Powered !!