web-dev-qa-db-fra.com

Comment rediriger d'Apache vers Tomcat?

Je travaille sur mon premier site Java. J'exécute Apache Tomcat sur le port 8080 et Apache HTTPD sur le port 80. L'URL actuelle pour laquelle je peux accéder au site est (par exemple) 123.4.5.6:8080. Je souhaite supprimer le numéro de port de l'URL avant de diriger le domaine vers la nouvelle adresse IP.

Pour le moment, j'utilise uniquement Apache pour phpmyadmin, mais je prévois de l'utiliser pour les scripts CGI et autres éléments une fois que je découvrirai mod_jk etc ... Je ne souhaite donc pas modifier le port de Tomcat sur 80 et désactiver Apache.

J'espère que cela a du sens.

36
Alan

La bonne façon de faire est de laisser Apache à 80 et Tomcat à 8080 et à utiliser un plug-in (de préférence mod_proxy) pour proxy Tomcat à partir d'Apache. mod_proxy ne vous prendrait que 10 minutes.

Ce comment est très simple à suivre.

40
kgiannakakis

Comme vous l'avez déjà mentionné, la méthode habituelle consiste à utiliser mod_jk d'Apache HTTPD pour transférer le contenu que vous souhaitez que Tomcat traite.

Il existe un Quick HowTo à Tomcat.Apache.org. Vous devez faire ce qui suit:

  • Copiez mod_jk.so dans le répertoire de modules approprié pour Apache HTTPD.
  • Créer un fichier de configuration workers.properties
  • Dans httpd.conf de Apache HTTPD, ajoutez une section pour configurer mod_jk.
  • Assurez-vous que Tomcat est configuré pour accepter le protocole mod_jk, qui se trouve généralement sur le port 8009.

Les lignes dans httpd.conf avec JkMount:

JkMount  /examples/* worker1

indiquez à Apache HTTPD quelles demandes doivent être transférées à Tomcat.

17
Eddie

Les deux réponses utiles ci-dessus sont bonnes, mais je préfère de loin mod_proxy à mod_jk. Il n’ya pas d’installation supplémentaire à faire pour mod_proxy, contrairement à mod_jk, et la configuration est beaucoup plus simple. mod_jk vous donne plus de contrôle sur le réglage détaillé des paramètres Tomcat, mais si vous souhaitez simplement une redirection simple d'Apache vers Tomcat, mod_proxy est la solution.

2
gareth_bowles

Si vous souhaitez que le contenu statique soit géré par Apache au lieu de Tomcat, utilisez mod_jk: http://Tomcat.Apache.org/Tomcat-6.0-doc/proxy-howto.html

Et que dire de SSL - si nous voulons que Apache gère HTTPS, car il est plus rapide que Java/Tomcat?

1
bodrin

vous devriez configurer votre Tomcat en utilisant ce lien. pour Tomcat 7 http://Tomcat.Apache.org/Tomcat-7.0-doc/proxy-howto.html

0
Haid