Reverse proxy

Un reverse proxy est un serveur placé devant des serveurs web : il reçoit les requêtes des clients et les transmet au bon serveur d'application à leur place.

Résumer avec

Qu'est-ce qu'un reverse proxy ?

Un reverse proxy (ou proxy inverse) est un serveur placé entre les utilisateurs et un ou plusieurs serveurs d'application. Les visiteurs envoient leurs requêtes au proxy, qui transmet chacune au serveur approprié et renvoie la réponse comme si elle venait d'une origine unique. Le client ne dialogue jamais directement avec les serveurs d'application, qui restent cachés derrière.

Comment fonctionne un reverse proxy

Le flux comporte quatre étapes : le navigateur résout le domaine via le DNS vers l'adresse du proxy, le proxy reçoit la requête, il choisit un serveur selon des règles (chemin, hôte, en-têtes, charge), puis il relaie la réponse, parfois après l'avoir modifiée. Une configuration Nginx minimale ressemble à ceci :

server { listen 443 ssl; server_name example.com; location /api/ { proxy_pass http://127.0.0.1:3000; } }

Ici, chaque requête vers /api/ est transmise à une application qui écoute sur le port 3000, tandis que le reste du site peut être servi ailleurs.

À quoi sert un reverse proxy

  • Répartition de charge : répartir le trafic entre plusieurs serveurs pour éviter la surcharge (voir load balancing).
  • Terminaison TLS : gérer le HTTPS et le certificat SSL à un seul endroit plutôt que sur chaque serveur.
  • Cache et compression : servir les réponses fréquentes sans solliciter le serveur d'application.
  • Sécurité : masquer les serveurs internes, filtrer les requêtes malveillantes et appliquer du rate limiting.
  • Routage : exposer plusieurs services, par exemple des microservices, sous un même domaine.

Reverse proxy, proxy direct et CDN

CritèreReverse proxyProxy direct (forward)CDN
Agit pour le compte deLes serveursLes clientsLes serveurs, en périphérie
Position typeDevant les serveurs d'applicationDevant les utilisateurs ou un réseau d'entrepriseDistribué dans de nombreuses zones
Objectif principalRoutage, sécurité, performanceAnonymat, filtrage, contrôle d'accèsLivraison rapide près de l'utilisateur
ExemplesNginx, HAProxy, TraefikPasserelle web d'entrepriseCloudflare, Fastly

Un CDN est en pratique un réseau de reverse proxies répartis dans le monde, ce qui explique que les deux notions se recoupent.

Bonnes pratiques et pièges

  • Transmettre l'IP d'origine du client avec des en-têtes comme X-Forwarded-For, sinon le serveur d'application ne voit que le proxy.
  • Définir des délais d'attente raisonnables et des contrôles de santé pour qu'un serveur défaillant sorte de la rotation.
  • Garder des en-têtes HTTP de sécurité cohérents au niveau du proxy.
  • Éviter que le proxy devienne un point de défaillance unique : prévoir au moins deux instances pour les applications critiques.

Reverse proxy et SEO

Un reverse proxy permet de servir un blog ou une application dans un sous-dossier du domaine principal plutôt que sur un sous-domaine, ce qui concentre l'autorité sur un seul hôte. Il doit préserver les URL canoniques, les codes de statut et les en-têtes, faute de quoi les moteurs peuvent indexer la mauvaise adresse.

Le reverse proxy chez BeBranded

Sur nos projets d'applications web, nous plaçons un reverse proxy ou une couche edge devant l'application pour gérer le HTTPS, le cache et le routage, afin que le produit reste rapide et sécurisé quand le trafic augmente. Découvrez notre service d'applications web.

FAQ

Un reverse proxy est un serveur placé devant un ou plusieurs serveurs d'application. Il reçoit les requêtes des clients, les transmet au bon serveur et renvoie la réponse.
Un proxy direct agit pour les clients et masque leur identité. Un reverse proxy agit pour les serveurs et masque l'infrastructure.
Un load balancer répartit le trafic entre des serveurs. Un reverse proxy le fait aussi, mais gère en plus le cache, le TLS, le routage et la sécurité. Beaucoup de reverse proxies incluent la répartition de charge.
En pratique oui. Un CDN est un réseau de reverse proxies placés près des utilisateurs, qui mettent en cache et livrent le contenu depuis la périphérie.
Les choix courants sont Nginx, HAProxy, Traefik et Caddy, ainsi que des services managés comme Cloudflare.
Oui. Il masque les serveurs internes, termine le TLS, filtre les requêtes malveillantes et peut appliquer du rate limiting, mais il doit lui-même être à jour et bien configuré.

Prêt à booster vos conversions ?

Notre équipe est là pour comprendre vos besoins et travailler avec vous pour créer vos prochains projets.
Recevez des news et des ressources.
Des conseils pratiques directement dans votre boîte mail.
Merci ! Votre demande a bien été reçue.
Oups ! Une erreur est survenue lors de l'envoi du formulaire.