21 novembre 2006
Configurer Squid en reverse proxy
Fichier de configuration typique
http_port 80
httpd_accel_host localhost
httpd_accel_port 81
httpd_accel_single_host on
httpd_accel_with_proxy on
httpd_accel_uses_host_header off
Explications
http_port: Spécifie le port d’écoute du serveur proxy. Si ce port vaut 80, l’utilisateur à l’illusion d’être directement sur un serveur Web classique.
httpd_accel_host: Adresse IP du serveur Web (Apache, LightHTTPD, …)
httpd_accel_port: Port du serveurs Web. Si le serveur Web se trouve sur la même machine que le proxy Squid, vous devrez modifier son port d’écoute. Typiquement, pour Apache, il vous faudra remplacer la directive "Listen 80" par "Listen 81" par exemple.
httpd_accel_single_host: Si vous n’avez qu’un seul serveur Web, mettez cette option à on. Cela redirigera toutes les requêtes, quelles que soit les entêtes HTTP, vers cet hôte. Par contre, laissez cette option à off si vous avez des backend mutliples, et utilisez dans ce cas l’option redirect_rewrites_host_header
httpd_accel_with_proxy: Si vous utilisez votre serveur Squid en tant que cache ET accélérateur (reverse), vous devez mettre cette option à on. Sinon, Squid arrêtera d’identifier les requêtes.
httpd_accel_uses_host_header: HTTP/1.1 inclue une entête "Host", qui est typiquement le hostname de l’URL. Squid peut être un accélérateur pour différents serveurs HTTP grâce à cette entête. Par contre, il ne vérifie PAS celle-ci. Cela est donc une grosse faille de sécurité. Je vous recommande de laisser cette option à off.
Articles relatifs


dans le cas ou j’utilise squid en proxy et reverse proxy
le port d’ecoute est 80 meme pour les utilisateur du cache ou bien je peux configurer deux ports d’ecoute 80 et 8080 ?
Théoriquement, les deux ports sont possibles. Mais il est plus judicieux d’utiliser un et un seul port, afin de rendre le proxy transparent !