Proxy inverse

Un proxy inverse (reverse proxy) 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

Principe de fonctionnementModifier

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).

ApplicationsModifier

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.

Voir aussiModifier

Articles connexesModifier

  • Proxy, configuré côté client
  • Gatejs : serveur et proxy HTTP open source avec comme objectif la performance, la simplification et la factorisation des codes informatique
  • Hiawatha, serveur HTTP libre, configurable en proxy inverse
  • nginx, serveur HTTP et proxy inverse libre
  • Squid, proxy libre configurable en proxy inverse
  • Apache HTTP Server, serveur HTTP libre configurable en proxy inverse avec le module mod_proxy
  • Varnish, accélérateur HTTP libre (proxy inverse sans fonction de proxy)
  • Træfik, proxy inverse moderne et open source avec rechargement à chaud, écrit en Go
  • HAProxy, répartiteur de charge web et TCP