🔁 Proxy & Reverse-Proxy
🎯 Objectifs
- Comprendre le rôle d'un proxy et d'un reverse-proxy
- Différencier proxy côté client et reverse-proxy côté serveur
- Connaître les cas d'usage : anonymisation, cache, répartition de charge
- Découvrir les outils Nginx et Traefik
📖 Le Proxy
Un proxy est un intermédiaire logiciel placé entre un client (navigateur, application) et le serveur auquel il souhaite accéder. Il relaie les requêtes du client vers le serveur cible et retourne les réponses au client.
Cas d'usage
- Accès à des réseaux restreints : un VPN avec proxy intégré permet d'accéder à des contenus géo-restreints en faisant croire au service distant que la requête provient d'un autre pays
- Anonymisation et sécurité : masque l'adresse IP réelle du client, offrant une couche d'anonymat
- Mise en cache et optimisation : conserve en mémoire les réponses fréquentes, réduisant la charge sur les serveurs distants et accélérant l'accès
📖 Le Reverse-Proxy
Le reverse-proxy fonctionne selon un principe inversé : c'est le serveur (et non le client) qui le configure pour gérer les requêtes entrantes. Il reçoit les demandes des utilisateurs et les redirige vers les serveurs internes appropriés.
Cas d'usage et avantages
- Gestion centralisée de l'accès : une URL comme
cloud.iris.frredirige vers le service cloud hébergé en interne, dissociant l'adresse publique de l'architecture interne - Sécurisation de l'accès : vérification de l'IP autorisée ou de l'authentification avant de transmettre la requête au serveur interne
- Répartition de charge : distribue le trafic entre plusieurs serveurs backend, améliorant la performance et la résilience
📖 Comparaison
| Caractéristique | Proxy | Reverse-Proxy |
|---|---|---|
| Côté | Client | Serveur |
| Rôle principal | Filtrer/anonymiser les requêtes sortantes | Gérer/distribuer les requêtes entrantes |
| Cache | Oui (accélère les requêtes client) | Oui (accélère les réponses serveur) |
| Sécurité | Masque l'IP du client | Masque l'architecture interne |
| Load balancing | Non | Oui |
📖 Outils et technologies
- Nginx : serveur web et reverse-proxy très performant, gère un grand nombre de connexions simultanées avec des fonctionnalités avancées de redirection, cache et répartition de charge
- Traefik : solution moderne pour les environnements de conteneurs (Docker, Kubernetes), avec une configuration dynamique et une intégration native
📝 QCM — Testez vos connaissances
- Quel est le rôle d'un serveur proxy ?
- Qu'est-ce qu'un reverse-proxy ?
- Quel logiciel est couramment utilisé comme reverse-proxy ?
- Quel avantage apporte un proxy en termes de performances ?
- Un reverse-proxy peut-il gérer la terminaison TLS/SSL ?
- Dans quel contexte utilise-t-on un proxy transparent ?
📝 Afficher les corrections
- Servir d'intermédiaire entre le client et Internet — Le proxy forward reçoit les requêtes des clients et les transmet à Internet en leur nom.
- Un proxy placé devant les serveurs — Le reverse-proxy reçoit les requêtes externes et les redirige vers les serveurs internes appropriés.
- Nginx — Nginx, HAProxy et Apache sont les reverse-proxies les plus utilisés en production.
- La mise en cache des contenus — Le proxy peut mettre en cache les réponses pour accélérer les requêtes répétées.
- Oui — Le reverse-proxy peut déchiffrer le HTTPS et transmettre en HTTP aux serveurs backend (SSL offloading).
- Pour filtrer le trafic sans configuration client — Un proxy transparent intercepte le trafic réseau sans que le client ait besoin de configurer quoi que ce soit.
💡 À retenir
Le proxy est côté client (anonymisation, cache, contournement de restrictions). Le reverse-proxy est côté serveur (gestion d'accès, sécurisation, répartition de charge). Nginx et Traefik sont les outils de référence.
