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...).

[warn] proxy: No protocol handler was valid for the URL /usvn/. If you are using a DSO version of mod_proxy, make sure the proxy submodules are included in the configuration using LoadModule.

Auteur : Mr Xhark

Fondateur du blog et passionné par les nouvelles techno, suivez-moi sur twitter