Un proxy inverse (reverse proxy) ou serveur mandataire inverse[1] est un type de serveur, habituellement placé en frontal de serveurs web. Contrairement au serveur proxy qui permet à un utilisateur d'accéder au réseau Internet, le proxy inverse permet à un utilisateur d'Internet d'accéder à des serveurs internes. Une des applications courantes du proxy inverse est la répartition de charge (load-balancing).
Schéma de principe du reverse proxy
Le proxy inverse est installé du côté des serveurs Internet. L'utilisateur du Web passe par son intermédiaire pour accéder aux applications de serveurs internes.
Le proxy inverse est parfois appelé substitut (surrogate).
Cette technique permet:
Mémoire cache: le proxy inverse peut décharger les serveurs Web de la charge de pages/objets statiques (pages HTML, images) par la gestion d'un cache web local. La charge des serveurs Web est ainsi généralement diminuée, on parle alors d'«accélérateur web» ou d'«accélérateur HTTP».
Intermédiaire de sécurité: le proxy inverse protège un serveur Web des attaques provenant de l'extérieur. En effet, la couche supplémentaire apportée par les proxys inverses peut apporter une sécurité supplémentaire. La réécriture programmable des URL permet de masquer et de contrôler, par exemple, l'architecture d'un site web interne. Mais cette architecture permet surtout le filtrage en un point unique des accès aux ressources Web.
Chiffrement SSL: le proxy inverse peut être utilisé en tant que «terminateur SSL», par exemple par l'entremise de matériel dédié,
Répartition de charge: le proxy inverse peut distribuer la charge d'un site unique sur plusieurs serveurs Web applicatifs. Selon sa configuration, un travail de réécriture d'URL sera donc nécessaire,
Compression: le proxy inverse peut optimiser la compression du contenu des sites.
Le proxy inverse peut contrôler l’authentification avant accès à un serveur Web ne possédant pas cette fonction.