Comment rediriger d'Apache vers Tomcat?
Question
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 à 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, je n'utilise Apache que pour phpmyadmin, mais je prévois de l'utiliser pour les scripts CGI et autres éléments une fois que j'aurai trouvé mod_jk
, etc. ... Donc, je ne veux pas changer. Portez Tomcat à 80 et désactivez Apache.
J'espère que cela a du sens.
La solution
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 faire est très simple à suivre.
Autres conseils
Comme vous l'avez déjà mentionné, la procédure habituelle consiste à utiliser mod_jk
à partir d'Apache HTTPD pour transférer le contenu que vous souhaitez que Tomcat traite.
Il existe un Guide rapide sur tomcat.apache.org. Vous devez procéder comme 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
d'Apache HTTPD, ajoutez une section pour configurermod_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 de httpd.conf
avec JkMount
:
JkMount /examples/* worker1
Indiquez à Apache HTTPD quelles demandes doivent être transférées à Tomcat.
Les deux réponses utiles ci-dessus sont bonnes, mais je préfère de loin mod_proxy
à mod_jk
. Aucune installation supplémentaire à faire pour mod_proxy, contrairement à mod_jk
, et la configuration est beaucoup plus simple. mod_jk
vous donne davantage 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.
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 qu'en est-il de SSL - si nous voulons qu'Apache gère HTTPS, car il est plus rapide que java / Tomcat?
vous devriez configurer votre tomcat en utilisant ce lien. pour tomcat 7 http://tomcat.apache.org/tomcat-7.0-doc/proxy -howto.html