Qu'est-ce qu'un Reverse Proxy ?
Un reverse proxy est un serveur qui se place entre les clients (navigateurs) et vos serveurs d'application. Du point de vue du client, il communique avec le reverse proxy comme si c'était le serveur final — la complexité de l'infrastructure backend est complètement masquée.
Proxy direct vs Reverse Proxy
| Type | Direction | Exemple d'usage |
|---|---|---|
| Proxy direct | Client → Proxy → Internet | VPN d'entreprise, contrôle d'accès |
| Reverse Proxy | Internet → Proxy → Serveurs | Nginx devant plusieurs serveurs d'application |
Les fonctions d'un Reverse Proxy
Répartition de charge (Load Balancing)
La fonction la plus connue. Le reverse proxy distribue les requêtes entre plusieurs serveurs backend selon différents algorithmes :
- Round Robin — Rotation équitable entre les serveurs
- Least Connections — Priorité au serveur avec le moins de connexions actives
- IP Hash — Un client est toujours routé vers le même serveur (sessions persistantes)
- Weighted — Certains serveurs reçoivent plus de trafic (selon leur capacité)
# Configuration Nginx load balancer
upstream backend {
server 192.168.1.10:8080 weight=3;
server 192.168.1.11:8080 weight=1;
server 192.168.1.12:8080 backup;
}
server {
listen 80;
location / {
proxy_pass http://backend;
}
}
Terminaison SSL
Le reverse proxy peut gérer la terminaison SSL (déchiffrement des connexions HTTPS), permettant aux serveurs backend de recevoir du HTTP non chiffré. Cela :
- Simplifie la gestion des certificats (un seul endroit)
- Réduit la charge de chiffrement sur les serveurs d'application
- Permet d'utiliser des certificats wildcard centralisés
Mise en cache
En mettant en cache les réponses statiques ou semi-statiques, le reverse proxy réduit la charge des serveurs backend. Nginx peut cacher les réponses des serveurs PHP selon leur durée de vie.
Compression
Le reverse proxy peut compresser les réponses (gzip, Brotli) avant de les envoyer aux clients, réduisant la bande passante consommée.
Sécurité et filtrage
- Masque les adresses IP et les détails des serveurs backend
- Peut bloquer les IPs malveillantes
- Applique des règles de rate limiting
- Intègre des fonctionnalités WAF
Haute disponibilité
Si un serveur backend tombe en panne, le reverse proxy redirige automatiquement le trafic vers les serveurs disponibles (health checks actifs).
Nginx comme Reverse Proxy
Nginx est le reverse proxy le plus populaire au monde, utilisé par des sites comme Netflix, Dropbox, WordPress.com. Sa configuration est simple et ses performances excellentes.
Exemple : Nginx devant une application Node.js
server {
listen 80;
server_name monapp.gaprod.fr;
# Redirection HTTPS
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl http2;
server_name monapp.gaprod.fr;
ssl_certificate /etc/ssl/monapp.crt;
ssl_certificate_key /etc/ssl/monapp.key;
location / {
proxy_pass http://localhost:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
LiteSpeed comme Reverse Proxy
LiteSpeed supporte également le mode reverse proxy et peut ainsi servir des applications Node.js, Python (Django, Flask), Ruby on Rails ou Java derrière le même serveur web qui gère les sites PHP.
Cloudflare : le Reverse Proxy Cloud
Cloudflare est techniquement un reverse proxy cloud. Lorsque vous activez Cloudflare devant votre hébergement :
- Les DNS de votre domaine pointent vers Cloudflare (non vers votre serveur)
- Cloudflare reçoit toutes les requêtes et les filtre (DDoS, WAF, bot mitigation)
- Les requêtes légitimes sont transmises à votre hébergement Gaprod
Cela ajoute automatiquement CDN, WAF, DDoS protection, cache et HTTPS avec rotation automatique de certificats.
Reverse Proxy sur VPS Gaprod
Sur un VPS Gaprod, vous pouvez installer et configurer Nginx ou LiteSpeed comme reverse proxy pour :
- Héberger plusieurs applications sur le même VPS sur des ports différents
- Terminer SSL centralement
- Implémenter du load balancing multi-instances
- Servir des applications Node.js, Python ou Java avec Nginx en frontal
Reverse Proxy et WordPress
Si vous utilisez Cloudflare devant un hébergement cPanel, configurez la règle de page Cloudflare pour bypass le cache sur les pages d'administration WordPress (/wp-admin, /wp-login.php). Sans cela, les administrateurs pourraient voir des pages en cache.