Proxy inverse, serveur proxy inverse, proxy réversible (reverse proxy) - un ensemble de programmes informatiques conçus pour contrôler et distribuer le trafic entrant entre les serveurs d'une ressource web.
Lorsque des dizaines de millions de personnes du monde entier se rendent sur YouTube, c'est le bloc de sous-systèmes qui décide à partir de quel serveur spécifique récupérer la vidéo et la diffuser à l'utilisateur. À la base de ce bloc se trouve un proxy inverse.
Selon des données non officielles, YouTube compte plus de 2,5 millions de serveurs répartis dans plus de 30 centres de données sur différents continents. Pour assurer un fonctionnement rapide et fiable du service, il est important de répartir les demandes entrantes et les flux de retour.
Au moment de la rédaction de cet article, les proxies inverses les plus connus sont les suivants :
Certains de ces programmes ont été initialement créés pour d'autres tâches et objectifs, donc leur fonctionnalité va bien au-delà du simple proxy inverse. En particulier, ils peuvent remplir les fonctions de serveur web, de serveur de messagerie, de proxy direct, etc.
Si une ressource web est hébergée sur plusieurs serveurs, le proxy inverse répartit les demandes entrantes de manière équitable entre eux.
Si un serveur tombe en panne temporairement, le proxy inverse le "remarque" et cesse de rediriger les requêtes vers celui-ci. Une fois que le serveur reprend son fonctionnement, les requêtes commencent à lui parvenir automatiquement.
Avec un proxy inverse, il est possible d'héberger plusieurs serveurs, voire des clusters, sous une seule URL.
Le proxy inverse peut compresser les informations pour l'utilisateur même du côté de la ressource web.
Cette technique accélère considérablement l'envoi des données. L'utilisateur reçoit les informations sous forme compressée. Le navigateur les "décompresse" grâce à la puissance du processeur de l'appareil de l'utilisateur, plutôt que de tout télécharger via Internet.
L'accélération des sites web à l'aide d'un proxy inverse est réalisée en mettant en cache (mémorisation) du contenu statique et dynamique fourni par le site.
Par exemple, si le proxy inverse d'une plateforme de vidéos "comprend" qu'une certaine vidéo est très populaire (de nombreuses demandes de visionnage), il peut la mettre en cache et la fournir directement lors des prochaines requêtes, sans avoir à rechercher le serveur approprié, et même sous forme compressée.
La plupart des sites web modernes construisent les pages de manière dynamique. C'est-à-dire que l'utilisateur charge les informations à partir de la base de données du site, et la page est assemblée par le navigateur sur l'appareil de l'utilisateur.
Si la connexion avec l'utilisateur est lente, le serveur mettra plus de temps à fournir les données qu'il ne le pourrait. C'est pourquoi il est possible de configurer le serveur pour qu'il envoie intégralement les données au proxy inverse, qui "nourrira" ensuite le client lent, petit à petit, tandis que le serveur se libérera rapidement pour effectuer d'autres tâches.
La protection contre les attaques DDoS est généralement mise en place en configurant un proxy inverse pour autoriser/bloquer le trafic entrant.
Le blocage est effectué en fonction de règles qui permettent au système de distinguer les utilisateurs légitimes des malfaiteurs. Une de ces règles est la "Limite de requêtes".
Si une ressource Web ne prend pas en charge le traitement des informations chiffrées, c'est-à-dire qu'elle ne peut pas accepter et envoyer de trafic HTTPS, ce problème peut être résolu en installant et en configurant un proxy inverse.
Ce type de test est utilisé pour vérifier les hypothèses sur le comportement des utilisateurs lorsqu'ils travaillent avec des services similaires mais réalisés différemment. Par exemple, deux pages de destination réalisées dans des designs différents.
Avec les paramètres appropriés, un proxy inverse peut masquer les informations sur les serveurs qui se trouvent derrière lui. Cela constitue une mesure de protection supplémentaire pour le service Web - les systèmes externes ne pourront pas déterminer les adresses IP et l'emplacement des serveurs.
Un serveur proxy inverse est un logiciel, pas du matériel. Ce logiciel est situé du côté de la ressource web et est conçu pour filtrer le trafic entrant en le redirigeant vers des serveurs, équilibrer la charge, accélérer les performances et protéger la ressource contre les attaques externes.