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

Développement Web en Java Discussion :

communication Tomcat apache


Sujet :

Développement Web en Java

  1. #1
    Membre confirmé
    Inscrit en
    Novembre 2006
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 74
    Par défaut communication Tomcat apache
    Bonjour,

    j'ai des applis (java8) développer par des dev (moi je suis sys admin) qui sont hébergées sur des tomcat (8 8.5 et 9).
    Mon soucis des que je veux passer coté apache par des "proxypass /applis1 ajp://serveur:8080/applis1" pour communiquer avec les applis, rien ne fonctionne, si je regarde les log apache, j'envois bien "ajp://serveur:8080/applis1" vers mon serveur d'applis tomcat, qui me renvois "/applis/login".
    Au final au lieu d'avoir "ajp://serveur:8080/applis1/login" j'ai "ajp://serveur:8080/applis1/applis1/login".
    je m'en sort en ajoutant un .htaccess avec des RW mais, on doit pouvoir faire sans, avec une applis "openRefine" développer pas Google, elle fonctionne très bien sans, dans les log le nom de l'applis n'est pas revoyé, seul "wiring" est envoyé.

    J'ai l'impression que ça doit ce régler dans "web.xml" mais je n'arrive pas à trier toute les informations que je reçois, j'ai l'impression qu'on est dans un autre monde 8
    Quelqu'un peut me dire comment cela ce règle et dans quel fichier ???

    Merci .

    Fred

  2. #2
    Modérateur
    Avatar de Gugelhupf
    Homme Profil pro
    Analyste Programmeur
    Inscrit en
    Décembre 2011
    Messages
    1 325
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Analyste Programmeur

    Informations forums :
    Inscription : Décembre 2011
    Messages : 1 325
    Billets dans le blog
    12
    Par défaut
    Bonjour,

    Je ne comprends pas très bien le problème, on dirait que tu essayes de résoudre ton problème de proxy pass au niveau des applications Java afin qu'elles ne te retournent pas le contexte de l'application (ex: "applis1", "applis2" etc). Le problème est que tes développeurs peuvent avoir besoin de garder le contexte de leur application (ex: "applis1", "applis2" etc) lorsqu'ils lancent les applications en local, du coup c'est à toi de résoudre cela au niveau de ta conf proxy Apache.

    A+
    N'hésitez pas à consulter la FAQ Java, lire les cours et tutoriels Java, et à poser vos questions sur les forums d'entraide Java

    Ma page Developpez | Mon profil Linkedin | Vous souhaitez me contacter ? Contacter Gokan EKINCI

  3. #3
    Membre confirmé
    Inscrit en
    Novembre 2006
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 74
    Par défaut
    Bonsoir,
    Je veux bien me débrouiller avec la conf d'apache, mais j'ai pas dix milles choix, j'ai sois "proxypass /applis1 ajp://serveur1/applis1" ou "proxypass / ajp://serveur1/" .
    Le premier ne fonctionne pas car Apache résous avec "ajp://serveur1/applis1/applis1/login" au lieu de "ajp://serveur1/applis1/login"
    Le deuxième plante car il ne sait pas vers quel applis connecter. (plusieurs applis dans le tomcat).
    Avec la première solution, j'ai ajouté une rewrite rule dans le .htaccess qui fait un proxy qui enlève un "applis1" dans le retour de tomcat, ça fait baisser les perf, et je trouve pas ça top.

    Avec une applis développer par la communauté (openrefine, nuxeo, .....) je n'ai pas ses soucis avec proxipass, ça marche nikel, ça ne ramène que la servlet (ou un autre type de fichier java ...)
    Si je viens sur ce forum, c'est que je ne comprend pas pourquoi ça fonctionne avec des applis et pas avec d'autre, pourtant la même conf, ou un lien pour comprendre les mecanismes entre tomcat et apache.

    Fred

  4. #4
    Membre Expert Avatar de yildiz-online
    Homme Profil pro
    Architecte de domaine
    Inscrit en
    Octobre 2011
    Messages
    1 447
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Architecte de domaine

    Informations forums :
    Inscription : Octobre 2011
    Messages : 1 447
    Par défaut
    Le problème quand tu as plusieurs applications dans un tomcat, c'est qu'il faut le contexte pour les distinguer afin de les atteindre.
    L'utilisation d'un serveur d'application embarqué rend la chose plus aisée, c'est alors le port qui est utilisé pour faire le distinguo.

    Si tu veux que l'applicatif renvoie une URL modifiée, ça doit être possible avec des filter mais ça implique de modifier l'application.
    Tomcat a aussi des fonctionnalités de rewrite, qui sont très proches de celle de mod_rewrite, ça peut aussi être une piste à explorer.

    Mon conseil serait vraiment d'utiliser un tomcat embarqué par application, c'est beaucoup plus simple à gérer et maintenir.

  5. #5
    Membre confirmé
    Inscrit en
    Novembre 2006
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 74
    Par défaut
    Bonjour,
    Je peux faire un tomcat par applis, mais j'ai trois de ces applis qui ont plus d'un war pour l'applis.
    Perso, ça me parait normal d'avoir un context par applis, j'aimerais bien trouver un tuto pour apprendre a bien configurer un context.
    En gros je suis dans la merde !!!
    Fred

  6. #6
    Membre Expert Avatar de yildiz-online
    Homme Profil pro
    Architecte de domaine
    Inscrit en
    Octobre 2011
    Messages
    1 447
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Architecte de domaine

    Informations forums :
    Inscription : Octobre 2011
    Messages : 1 447
    Par défaut
    Quel est le besoin d'avoir ces différent war ensemble?

  7. #7
    Membre confirmé
    Inscrit en
    Novembre 2006
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 74
    Par défaut
    d'après ce que j'ai compris, il a séparé des fonctionnalités, après je ne connais pas le détail, les relations sont tendu, d'ou mon appel au forum pour le faire moi même et résoudre ce soucis si c'est dans mes compétences.
    Fred

  8. #8
    Modérateur
    Avatar de Gugelhupf
    Homme Profil pro
    Analyste Programmeur
    Inscrit en
    Décembre 2011
    Messages
    1 325
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Analyste Programmeur

    Informations forums :
    Inscription : Décembre 2011
    Messages : 1 325
    Billets dans le blog
    12
    Par défaut
    Salut,

    Si tu es sysadmin, alors il n'est pas de ta responsabilité de changer les applications existantes. Tu peux éventuellement proposer une solution d'amélioration, mais je ne vois pas de réel problème au niveau des applications, les applications peuvent exposer un numéro port ou avoir un contexte :
    • Soit le service qu'un client web appel : http://mon-site.com/nom-service
    • Soit le service exposé coté back : http://dns-interne:<numero-port>/contexte-applis1/nom-service

    Questions :
    1. Tu devrais pouvoir te servir de "/nom-service" pour mettre en place ton reverse proxy ?
    2. Que relève tes benchmarks exactement ? Quel est le niveau de performance acceptable ?


    Je ne peux malheureusement pas t'aider pour la partie reverse proxy avec Apache HTTP, j'utilise Nginx, mais tu trouveras peut-être une solution dans le forum Apache HTTP de Developpez : https://www.developpez.net/forums/f2...he-iis/apache/

    A+
    N'hésitez pas à consulter la FAQ Java, lire les cours et tutoriels Java, et à poser vos questions sur les forums d'entraide Java

    Ma page Developpez | Mon profil Linkedin | Vous souhaitez me contacter ? Contacter Gokan EKINCI

  9. #9
    Membre confirmé
    Inscrit en
    Novembre 2006
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 74
    Par défaut
    Bonjour,

    1/ c'est la solution que j'ai mis en place, j'envois a Tomcat "ajp://mon-site.com/nom-service" Tomcat me renvois "ajp://mon-site.com/nom-service/nom-service/login" que je renvois via une rewrite rule en "ajp://mon-site.com/nom-service/login" et la ça fonctionne.
    Mais un jour, Mark Thomas m'a dit que je ne devais pas utiliser des rewrite rule mais seulement le proxypass, pour des raisons de perf et d'autre que j'ai pas tout capter. Connaissant le gus, je lui fait confiance, surtout que ça fontionne très bien avec des applis opensource.

    2/ j'ai des pages qui peuvent mettre 1s pour s'afficher, sur les sites avec moins de 1K visiteurs, c'est pas grave, à plus de 30K visiteurs/jour je me dis que ça devrais se voir ...

    Coté Apache, je pense que je maîtrise pas mal, mais ça ne coûte rien d'essayer.

    Merci

Discussions similaires

  1. problème de communication entre apache et tomcat en https
    Par Kursha dans le forum Tomcat et TomEE
    Réponses: 2
    Dernier message: 16/11/2007, 14h11
  2. [Outils][IIS] Communication entre Apache et IIS
    Par maxonman dans le forum IIS
    Réponses: 4
    Dernier message: 11/08/2005, 14h20
  3. [Tomcat]Apache et Tomcat
    Par Sherkhan dans le forum Tomcat et TomEE
    Réponses: 9
    Dernier message: 22/03/2005, 14h40
  4. [JSP] [tomcat] apache-tomcat jsp
    Par HULK dans le forum Tomcat et TomEE
    Réponses: 4
    Dernier message: 25/01/2004, 17h29
  5. Tomcat + Apache-SOAP
    Par lucho31 dans le forum Services Web
    Réponses: 3
    Dernier message: 17/10/2002, 09h55

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