En installant Apache avec le module ReverseProxy mod_proxy j'ai du faire face à un non fonctionnement. Apache démarrait correctement mais impossible d'utiliser la fonction de reverse proxy.
Concerne : toutes les distributions "connues" (Debian, CentOS, etc.).
Voici ce que me donnait les logs /var/log/apache/error.log :
[shell][warn] proxy: No protocol handler was valid for the URL /mon_url/. If you are using a DSO version of mod_proxy, make sure the proxy submodules are included in the configuration using LoadModule.[/shell]
Aucune erreur dans mon fichier de configuration /etc/apache2/mods-available/proxy.conf. Pour info voici son contenu :
[shell]<IfModule mod_proxy.c>
ProxyRequests Off
<Directory Proxy:*>
Order deny,allow
Allow from all
</Directory>
ProxyVia Full
ProxyPass /mon_url/ http://serveur.domaine.com/appli/
ProxyPassReverse /mon_url/ http://serveur.domaine.com/appli/
</IfModule>
[/shell]
J'ai trouvé la solution chez Serendipiti qui explique que l'erreur provient d'un lien symbolique manquant. Pour corriger cette erreur :
[shell]# ln -s /etc/apache2/mods-available/proxy_http.load \
> /etc/apache2/mods-enabled/proxy_http.load
# apache2ctl configtest
Syntax OK
# apache2ctl graceful
# /etc/init.d/apache2 restart
Restarting web server: apache2.[/shell]
Cela a parfaitement résolu mon erreur.
Si vous rencontrez encore le problème, seconde solution (source):
[shell]# a2enmod proxy
# a2enmod proxy_http
# /etc/init.d/apache2 force-reload[/shell]
Si les serveurs ReverseProxy sont pour vous du chinois, n'hésitez pas à faire un tour chez Wikipédia (ça rime...).
Auteur : Mr Xhark
Fondateur du blog et passionné par les nouvelles techno, suivez-moi sur twitter
6 commentaires
J'ai eu ce problème là à la réinstallation de mon serveur, ca a bien tout résolu, merci!
Je viens d'avoir exactement ce problème, et votre solution a parfaitement fonctionné. Merci !
mes remerciements pour cette solution !
La première solution a parfaitement résolu le problème, merci Mr Xhark
Merci !!!
En fait il y a une commande pour ça: a2enmod proxy_http ! (puis restart apache2).
En fait pour utiliser la fonction proxy il faut activer les deux module 'proxy' et 'proxy_http' !
@lestat: c'est précisément ce qui est écrit dans le billet, méthode 2