IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Tomcat et TomEE Java Discussion :

Conf mod_jk + Tomcat (plusieurs appli)


Sujet :

Tomcat et TomEE Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2009
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2009
    Messages : 28
    Par défaut Conf mod_jk + Tomcat (plusieurs appli)
    Bonjour à tous !

    Alors voici mon problème.

    J'ai un serveur web (dont j'ai un accès ssh root) avec un serv apache + tomcat. Le serveur est dans un sous réseau et n'est accessible que via 1 seule adresse et sur le port 80 (domaine.com:80).
    Je ne peu ni créer de sous domaine, ni accéder aux applis tomcat via différents ports.

    Mes deux contraintes sont donc :
    • Contacter le serveur via http://domaine.com uniquement sur le port 80
    • Les applis fonctionnent uniquement sous l'appli ROOT dans tomcat (pb de chemins absolus)


    Conf des HOSTS

    J'ai deux applis : APP1 et APP2. J'ai créé deux hosts (/etc/hosts) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    127.0.0.1     app1
    127.0.0.1     app2
    ...
    Conf de TOMCAT

    J'ai configuré tomcat de façon a avoir deux hosts correspondants :
    serveur.xml :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <Host name="app1" appBase="webapps/APP1"
           unpackWARs="true" autoDeploy="true"
           xmlValidation="false" xmlNamespaceAware="false">
    </Host>
    <Host name="app2" appBase="webapps/APP2"
           unpackWARs="true" autoDeploy="true"
           xmlValidation="false" xmlNamespaceAware="false">
    </Host>
    puis j'ai créé mon arborescence dans conf/Catalina/app1 et conf/Catalina/app2 avec les fichiers de conf (ROOT.xml) correspondants.

    J'ai fait de même dans mon repertoire webapps : j'ai placé les deux applis dans les répertoires webapps/APP1/ROOT/ et webapps/APP2/ROOT.

    Conf d'APACHE

    Maintenant que Tomcat est bien configuré, je vais configurer apache de manière à pouvoir accéder a mes deux applis via les adresses http://domaine.com/app1 et http://domaine.com/app2.

    Je commence donc par activer le mod_jk puis à créer le workers.properties (/etc/apache2/workers.properties) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    ps = /
    worker.list=app1 app2
     
    worker.app1.port=8009
    worker.app1.host=app1
    worker.app1.type=ajp13
    worker.app1.connection_pool_size=25
    worker.app1.connection_pool_minsize=13
    worker.app1.connection_pool_timeout=60
    worker.app1.socket_keepalive=false
     
     
    worker.app2.port=8009
    worker.app2.host=app2
    worker.app2.type=ajp13
    worker.app2.connection_pool_size=25
    worker.app2.connection_pool_minsize=13
    worker.app2.connection_pool_timeout=60
    worker.app2.socket_keepalive=false
     
    #Tuning
    socket_timeout=30
    socket_keepalive=1
    recycle_timeout=30
    retries=3
    puis dans mon vhost *:80 je place les jkMount :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <VirtualHost *:80>
            ServerName domaine.com
     
            JkMount /APP1 app1
            JkMount /APP1/* app1
     
            JkMount /APP2 app2
            JkMount /APP2/* app2
     
            DocumentRoot /var/www/
    </VirtualHost>
    FIN DES CONFS

    Lorsque j'interroge http://domaine.com j'ai bien l'index du documentRoot qui s'affiche --> OK
    Lorsque j'interroge http://domaine.com/APP1 le mod_jk j'ai un message d'erreur tomcat me signalant que "La ressource demandée (/APP1) n'est pas disponible." --> PAS OK
    (pareil pour APP2)

    En faite il contacte bien tomcat, mais, pour app1 il contacte le serveur sur /APP1 (sous le domaine app1) au lieu de contacter le serveur sur / (sous le domaine app1)...

    Je ne trouve pas de solution pour résoudre ce problème...

    Si je nomme mon appli APP1 (au lieu de ROOT) dans tomcat, bien évidemment ça fonctionne sauf pour tout ce qui est lien absolus, pensez vous que cette solution (si j'arrive à la faire fonctionner) pourrait résoudre le problème ?

  2. #2
    Membre Expert
    Avatar de hasalex
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2009
    Messages
    879
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Janvier 2009
    Messages : 879
    Par défaut
    Je pense que tu devras passer par de la réécriture d'URL avec la mod_rewrite dans Apache.
    Éventuellement, avec le mod_proxy, tu auras plus de souplesse.

  3. #3
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2009
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2009
    Messages : 28
    Par défaut
    Oué en faite je vais plutot utiliser un reverse proxy avec mod_proxy.

    Seulement, du fait des liens absolus j'ai besoin d'utiliser le mod_proxy_html pour réécrire les liens a chaque fois.

    Je ne comprends rien à la compilation de modules.

    Je dispose des sources du mod_proxy_html :

    mod_proxy_html.c
    mod_xml2enc.c
    mod_xml2enc.h
    proxy_html.conf

    Que dois-je faire avec ça ?

    J'ajoute que sur mon serv je n'ai pas accès au net donc pas d'apt-get possible, et que apxs n'est pas installé !

  4. #4
    Membre Expert
    Avatar de hasalex
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2009
    Messages
    879
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Janvier 2009
    Messages : 879
    Par défaut
    Effectivement, si tu as de la réécriture au niveau du contexte, tu devras certainement réécrire tes réponses. Pour l'installation de mod_proxy_html, tu devrais probablement voir du coté du forum apache. Tu peux éventuellement essayer le mod_substitute.

Discussions similaires

  1. mod_jk + tomcat 5.5 + apache 2.2 sous windows
    Par Nexussmb dans le forum Tomcat et TomEE
    Réponses: 1
    Dernier message: 31/01/2008, 17h02
  2. [WSAD5.5.1]Faire tourner plusieurs appli en même temps
    Par david06600 dans le forum Websphere
    Réponses: 5
    Dernier message: 17/11/2007, 22h55
  3. [tomcat] plusieurs noms de serveur
    Par amel666 dans le forum Tomcat et TomEE
    Réponses: 2
    Dernier message: 07/03/2006, 12h20
  4. Réponses: 13
    Dernier message: 25/01/2006, 14h24
  5. [Tomcat][Plusieurs applications WEB] Partage d'objet.
    Par ZeKiD dans le forum Tomcat et TomEE
    Réponses: 8
    Dernier message: 09/04/2005, 13h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo