Reverse proxy
Un article de Le wiki de 2 noisettes - noisette.ch.
Un reverse proxy est un proxy qui est du côté du serveur et qui permet de le décharger de tout le contenu static. Le bénéfice est assez important en terme d'accès disque du serveur, ainsi qu'en sauvegarde de bande passante. Un schéma typique serait quand un serveur est sur une petite bande passant, un reverse proxy permet de décharger considérablement la ligne.
Situation initiale :
+----------+ +----------+
| Internet |---| www |
+----------+ +----------+
|
+----------+
| Client |
+----------+
Ajout d'un reverse proxy :
+----------+ +----------+ +----------+
| Internet |---| r-proxy |---| www |
+----------+ +----------+ +----------+
|
+----------+
| Client |
+----------+
Il existe plusieurs logiciel qui peuvent agir en reverse proxy, dont apache avec mod_proxy et squid.
- Mod_proxy : http://httpd.apache.org/docs/2.0/mod/mod_proxy.html
- Squid : http://www.squid-cache.org
Squid
Sa configuration en mode reverse prxy est relavitement aisée. Il faut cependant noter que le port 80 sera utilisé par squid, il n'est donc pas possible de faire tourner apache conjointement sur une telle machine. C'est pourquoi mod_proxy existe en fait.
Les points principaux :
http_port 80 acl okdomains dstdomain www.domain1.com www.domain2.com www.domain3.com http_access deny !okdomains http_access allow all httpd_accel_port 80 httpd_accel_host www.domain.com
Dans ce tout petit exemple, les requêtes faites à www.domain{1,2,3}.com sont forwardées vers www.domain.com.
Un problème avec Squid est qu'on ne peut pas mapper différents domaines vers différents serveurs.
mod_proxy
