Un proxy inverse est utilisé pour fournir des services d'équilibrage de charge et, de plus en plus, pour renforcer la sécurité des applications Web à des points d'insertion stratégiques dans un réseau via des pare-feu d'applications Web, des pare-feu de diffusion d'applications et une inspection approfondie du contenu.

Qu'est-ce qu'un proxy inverse ?

Dans le domaine des réseaux et du trafic Web, un proxy est un périphérique ou un serveur qui agit au nom d'autres périphériques. Il se situe entre deux entités et exécute un service. Les proxys sont des solutions matérielles ou logicielles qui se placent entre le client et le serveur afin de gérer les requêtes et parfois les réponses.

En règle générale, un serveur proxy inverse se trouve devant les serveurs Web et transmet les requêtes des clients (par exemple, un navigateur Web) à ces serveurs Web. Les ressources demandées sont ensuite renvoyées au client, apparaissant comme si elles provenaient du serveur proxy lui-même. Cela fournit un niveau supplémentaire d'abstraction et de contrôle pour garantir la fluidité du trafic réseau entre les clients et les serveurs. Un proxy inverse offre également la possibilité de diriger les requêtes en fonction d'une grande variété de paramètres tels que l'appareil de l'utilisateur, l'emplacement, les conditions du réseau, l'état de l'application et même l'heure de la journée.

Quelle est la différence entre un proxy inverse et un équilibreur de charge ?

Les serveurs proxy inverses et les équilibreurs de charge sont tous deux des composants d’une architecture informatique client-serveur. Tous deux agissent comme intermédiaires dans la communication entre les clients et les serveurs, exécutant des fonctions qui améliorent l'efficacité. Ils peuvent être mis en œuvre en tant qu'appareils dédiés et spécialement conçus, mais de plus en plus, dans les architectures Web modernes, ce sont des applications logicielles qui s'exécutent sur du matériel standard. Bien qu’ils semblent remplir des fonctions similaires, explorons quand et pourquoi ils sont généralement déployés sur un site Web.

Un équilibreur de charge répartit les demandes entrantes des clients entre un groupe de serveurs pour garantir une vitesse satisfaisante et un fonctionnement optimisé. Les équilibreurs de charge sont généralement déployés lorsqu'un site a besoin de plusieurs serveurs, car le volume de requêtes est trop important pour qu'un seul serveur puisse le gérer efficacement. Le déploiement de plusieurs serveurs élimine également un point de défaillance unique, rendant le site Web plus fiable. Le plus souvent, tous les serveurs hébergent le même contenu et le travail de l'équilibreur de charge est de répartir la charge de travail de manière à optimiser l'utilisation de la capacité de chaque serveur, à éviter la surcharge sur n'importe quel serveur et à générer la réponse la plus rapide possible au client.

Un proxy inverse accepte une demande d'un client, la transmet à un serveur qui peut la satisfaire et renvoie la réponse du serveur au client. Alors que le déploiement d’un équilibreur de charge n’a de sens que lorsque vous disposez de plusieurs serveurs, il est souvent judicieux de déployer un proxy inverse même avec un seul serveur Web ou serveur d’applications. Vous pouvez considérer le proxy inverse comme le « visage public » d’un site Web. Son adresse est celle annoncée pour le site Web et elle se situe à la périphérie du réseau du site pour accepter les demandes des navigateurs Web et des applications mobiles pour le contenu hébergé sur le site Web. Un proxy inverse fournit un niveau supplémentaire d'abstraction et de contrôle pour garantir la fluidité du trafic réseau entre les clients et les serveurs. Le proxy inverse fournit :

  • Sécurité renforcée. Aucune information sur vos serveurs back-end n'est visible en dehors de votre réseau interne, les clients malveillants ne peuvent donc pas y accéder directement pour exploiter d'éventuelles vulnérabilités. De nombreux serveurs proxy inverses incluent des fonctionnalités qui aident à protéger les serveurs principaux contre les attaques par déni de service distribué (DDoS), par exemple en rejetant le trafic provenant d'adresses IP client particulières (liste de refus) ou en limitant le nombre de connexions acceptées par chaque client.
  • Évolutivité et flexibilité accrues. Étant donné que les clients ne voient que l’adresse IP du proxy inverse, vous êtes libre de modifier la configuration de votre infrastructure back-end. Cela est particulièrement utile dans un environnement à charge équilibrée, où vous pouvez augmenter ou diminuer le nombre de serveurs pour correspondre aux fluctuations du volume de trafic.
  • Accélération Web. Les proxys inverses peuvent réduire le temps nécessaire pour générer une réponse et la renvoyer au client afin d'améliorer les performances grâce à des techniques telles que l'accélération SSL , la compression intelligente et la mise en cache. Les proxys inverses permettent également des services de sécurité fédérés pour plusieurs applications en renforçant la sécurité des applications Web.
Pourquoi un proxy inverse est-il important ?

Un proxy inverse est utilisé pour fournir des services d'équilibrage de charge afin d'offrir des expériences Web plus fluides et, de plus en plus, pour renforcer la sécurité des applications Web à des points d'insertion stratégiques dans un réseau via des pare-feu d'applications Web, des pare-feu de diffusion d'applications et une inspection approfondie du contenu.

Associé à des déploiements cloud, un proxy inverse peut permettre des architectures de cloud bursting et d'applications fractionnées qui offrent les avantages économiques du cloud sans compromettre le contrôle ou la sécurité.

Comment fonctionne un proxy inverse ?

Un proxy inverse peut agir soit comme un simple service de transfert, soit participer activement à l'échange entre le client et le serveur. Lorsque le proxy traite le client et le serveur comme des entités distinctes en implémentant deux piles réseau, il est appelé proxy complet.

Un proxy complet crée une connexion client TCP ainsi qu'une connexion serveur TCP distincte avec un petit espace au milieu. Le client se connecte au proxy à une extrémité et le proxy établit une connexion distincte et indépendante avec le serveur. C'est bidirectionnel des deux côtés. Il n'y a jamais de mélange de connexions du côté client au côté serveur puisque les connexions sont indépendantes.

Comment F5 gère-t-il les fonctions de proxy inverse ?

La fonction d’un proxy inverse peut être exécutée par un appareil, un logiciel ou un service en fonction de la complexité de l’environnement et des besoins de l’organisation.

Environnements cloud natifs

Idéal pour les environnements cloud natifs, NGINX Plus est un proxy inverse basé sur un logiciel qui effectue l'équilibrage de charge, le routage de couche 7 et l'optimisation des performances Web, de manière similaire à un périphérique matériel. NGINX Plus contribue également à améliorer les performances, la fiabilité, la sécurité et l'évolutivité du site Web. NGINX Plus est beaucoup moins cher que les solutions matérielles dotées de capacités similaires. Les fonctionnalités complètes d'équilibrage de charge et de proxy inverse de NGINX Plus vous permettent de créer un réseau de distribution d'applications hautement optimisé. NGINX Plus peut être déployé dans le cloud public ainsi que dans des centres de données privés à un coût inférieur à celui d'un proxy complet.

Environnements hybrides

Pour les environnements plus complexes et hybrides, le système F5 BIG-IP est un proxy complet qui peut être déployé en tant que serveur proxy inverse complet capable d'intercepter, d'inspecter et d'interagir avec les requêtes et les réponses. Cela inclut les fonctions de base d'équilibrage de charge et d'optimisation des performances Web, ainsi que des services de gestion du trafic plus avancés tels que la sécurité de la couche applicative , l'accélération Web , le routage des pages et l'accès à distance sécurisé .