J'ai des problèmes pour configurer Apache et Tomcat, voici le scénario:
J'ai un serveur Web Apache, fonctionnant et fonctionnant normalement, je peux accéder à celui-ci en tapant simplement:
http://localhost
De plus, dans cet hôte, j'ai un Tomcat qui fonctionne et fonctionne bien; J'ai créé une mini application web dont les fichiers se trouvent dans le répertoire "prueba", je peux accéder en tapant:
http://localhost:8080/prueba
(Je sais qu'Apache s'exécute dans le port 80 et Tomcat dans 8080)
Ce que je veux faire, c'est que grâce à Apache, un utilisateur peut accéder à "pruebas" (fonctionnant sur Tomcat), je veux dire:
http://localhost/prueba
J'ai lu beaucoup de ceci, et je pense qu'il y a 2 façons de le faire, et j'ai décidé d'activer les modules proxy (proxy et proxy_ajp, avec a2enmod), j'ai également lu que je dois modifier ce fichier: sites disponibles/par défaut, voici le contenu:
NameVirtualHost *:80
<VirtualHost *:80>
ServerName 127.0.0.1
DocumentRoot /var/www
ProxyRequests Off
ProxyPreserveHost On
ProxyPass /static/ !
ProxyPass / ajp://localhost:8009/
ProxyPassReverse / ajp://localhost:8009/
.
.
.
Alias /static/ "/Apache/www/"
</VirtualHost>
Mais cela n'a pas fonctionné correctement :(
Je dois dire que j'ai essayé avec de nombreux changements, sur ces 2 lignes, comme:
ProxyPass /prueba ajp://localhost:8009/prueba
ProxyPassReverse /prueba ajp://localhost:8009/prueba
ou
ProxyPass / ajp://localhost:8009/prueba
ProxyPassReverse / ajp://localhost:8009/prueba
(chaque fois que je modifie le fichier, je redémarre Apache)
Mais lorsque j'accède à [http: // localhost/prueba /], j'ai: Service temporairement indisponible
Quelqu'un sait-il pourquoi? Merci d'avance les gars.
Pd: Je travaille avec Apache 2.2.17 et Tomcat6.
Vous devez mettre
ProxyPass / ajp://localhost:8009/
ProxyPassReverse / ajp://localhost:8009/
sur votre hôte virtuel Apache
Ensuite, vous devez décommenter l'écouteur ajp dans Tomcat
<Connector port="8009" enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />
Ensuite, vous devez configurer l'hôte et le chemin de contexte dans server.xml
REFF: http://www.ntu.edu.sg/home/ehchua/programming/howto/ApachePlusTomcat_HowTo.html
J'espère que cela vous aidera..
ProxyPassReverse
définit l'URL dans laquelle Apache httpd devrait réécrire les URL, qui redirigeraient vers l'URL proxy (masquée). Pour cette raison, vous devez changer votre ligne ProxyPassReverse
en quelque chose comme ceci:
ProxyPassReverse / http://localhost/prueba/
Voir aussi: http://httpd.Apache.org/docs/2.2/mod/mod_proxy_ajp.html#usage
Essaye ça:
ProxyPass /prueba/ http://localhost:8009/prueba/
ProxyPassReverse /prueba/ http://localhost:8009/prueba/
puis appuyez sur l'URL suivante à partir du navigateur: http: // localhost/prueba /
note: il est obligatoire d'ajouter "/ prueba /"
Le service non disponible pourrait venir à cause de SELinux, essayez de désactiver SE Linux: setenforce 0
vous pouvez essayer d'ajouter:
ProxyPreserveHost On
"Lorsqu'elle est activée, cette option transmet la ligne Host: de la demande entrante à l'hôte mandaté, au lieu du nom d'hôte spécifié dans la ligne ProxyPass.
Cette option doit normalement être désactivée. Il est surtout utile dans des configurations spéciales comme l'hébergement virtuel basé sur un nom de masse proxy, où l'en-tête Host d'origine doit être évalué par le serveur principal. "
Vous avez déclaré: je peux accéder à la saisie:
http: // localhost : 8080 /prueba
mais ce qui suit ne fonctionne pas:
ProxyPass/prueba/ http: // localhost : 8009 /prueba /
8080! = 8009
assurez-vous que vos numéros de port sont les mêmes