mod_proxy
mod_proxy est un module de la suite Apache qui implémente les fonctionnalités de relais HTTP, FTP et CONNECT sur un serveur Apache. Il peut être configuré pour agir au choix comme un direct proxy ou comme un reverse proxy.
En tant que "reverse proxy", ce module permet de protéger des sites web en mettant en place un système de relais entre 2 serveurs Web qui vont coopérer :
- Un serveur Web (A) public répond aux requêtes HTTP des clients, et les transmet via mod_proxy à un autre serveur Web (B) situé dans une zone protégée. Le serveur web (A) se comporte alors comme un serveur HTTP traditionnel, mais aussi comme un client HTTP en s'adressant au second serveur (B).
Cette architecture permet alors de sécuriser un serveur web (B) en l'installant dans une zone protégée inaccessible directement depuis Internet, et en y accédant uniquement à travers le serveur Web (A) avec la configuration propre à mod_proxy.
Sur le serveur relais, différents modes d’authentification peuvent être installés.
Enfin mod_proxy peut permettre également de faire de la répartition de charge en répartissant les requêtes http vers différents serveurs.
- Facilite la mise à jour des serveurs web relayés.
- Permet de protéger un serveur web "boîte noire".
Peut être couplé aux modules apache :
- mod_rewrite : qui permet la réécriture à la volée des URL's http://httpd.apache.org/docs/2.3/mod/mod_rewrite.html
- mod_security : qui permet de filtrer les requêtes http://www.modsecurity.org/ et fiche plume http://www.projet-plume.org/fiche/modsecurity
- mod_proxy_balancer : qui permet de faire de la répartition de charge http://httpd.apache.org/docs/2.3
/mod/mod_proxy_balancer.html
Ce module me permet de centraliser à un seul endroit la sécurisation de l'ensemble des serveurs web du laboratoire : site web institutionnel, pages personnelles, sites liés à des projets de recherche. Je l'utilise également pour donner accès via ajaxterm à une connexion ssh depuis un navigateur.
Ne pas utiliser le module mod_proxy sur un serveur non sécurisé car cela peut être dangereux pour votre site.