Un intermédiaire sur le chemin
Un proxy est un intermédiaire qui se place sur le trajet d'une communication réseau et parle à la place de quelqu'un. Tout l'enjeu est de savoir qui il représente : le client (proxy classique, dit « forward ») ou le serveur (reverse proxy). Le sens change tout.
Le proxy (forward)
Il se place devant un groupe de clients et parle à Internet à leur place. Le serveur distant ne voit que le proxy, jamais les postes derrière.
Filtrer et journaliser
Bloquer des sites, appliquer une politique d'usage, garder une trace des accès. Le classique du réseau d'entreprise ou d'école.
Mettre en cache
Garder une copie des contenus souvent demandés pour les resservir sans ressortir, et économiser la bande passante.
Le reverse proxy
Il fait l'inverse : il se place devant un ou plusieurs serveurs et reçoit les requêtes venues d'Internet à leur place. Le client ne voit que le reverse proxy ; les vrais serveurs restent cachés derrière.
Équilibrer la charge
Distribuer les requêtes entre plusieurs serveurs identiques, et écarter celui qui tombe. C'est la base de la haute disponibilité d'un service web.
Point d'entrée unique
Terminer le chiffrement HTTPS, masquer l'architecture interne, filtrer les requêtes malveillantes (pare-feu applicatif). Une seule porte à surveiller.
Qui représente qui
| Proxy (forward) | Reverse proxy | |
|---|---|---|
| Se place devant | les clients | les serveurs |
| Protège / représente | ceux qui naviguent | ceux qui hébergent |
| Qui est caché | les postes internes | les serveurs d'origine |
| Usage phare | filtrage, cache sortant, contrôle | répartition de charge, TLS, protection |
| Le client sait qu'il existe ? | oui (configuré pour l'utiliser) | non (il croit parler au serveur) |
Même brique, deux casquettes. Un même logiciel (comme Nginx ou HAProxy) peut jouer les deux rôles selon sa configuration. Ce n'est pas l'outil qui fait le forward ou le reverse, c'est le sens dans lequel on le place.
L'essentiel
- Un proxy est un intermédiaire qui parle à la place d'un autre.
- Forward : devant les clients, pour filtrer, mettre en cache, contrôler la sortie.
- Reverse : devant les serveurs, pour répartir la charge, terminer le TLS, protéger et masquer.
- Le critère pour les distinguer : de quel côté se tient l'intermédiaire.