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.

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.

http://sial.org/howto/squid/

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