Qu'est-ce qu'un proxy inverse ?
Un proxy inverse désigne un serveur placé devant les serveurs web et transmettant les requêtes des clients (par exemple, les navigateurs web) à ces serveurs web. Les solutions de proxy inverse sont généralement déployées pour améliorer la sécurité, les performances et la fiabilité. Afin de mieux comprendre le fonctionnement d'un proxy inverse et les avantages qu'il peut offrir, nous devons tout d'abord définir ce qu'est un serveur proxy.
Rapport
Rapport GigaOm Radar for Content Delivery Networks de 2024
Livre blanc
Trois difficultés liées à la sécurisation et à la connexion des services pour applications
Qu'est-ce qu'un serveur proxy ?
Un proxy de transfert, souvent appelé proxy, serveur proxy ou proxy web, désigne un serveur situé devant un groupe d'ordinateurs clients. Lorsque ces derniers adressent des requêtes envoyées à des sites et services sur Internet, le serveur proxy intercepte ces requêtes et communique ensuite avec les serveurs web au nom des clients, agissant ainsi comme un intermédiaire.
Désignons, par exemple, trois ordinateurs impliqués dans une communication typique par proxy de transfert :
- A, l'ordinateur personnel d'un utilisateur
- B, un serveur proxy de transfert.
- C, le serveur d'origine d'un site web (dans lequel les données de ce dernier sont stockées)
Dans une communication Internet standard, un ordinateur A se connecterait directement à un serveur C, c'est-à-dire que le client enverrait des requêtes au serveur d'origine et que le serveur d'origine répondrait au client. Avec un proxy de transfert en place, l'ordinateur A envoie ses requêtes au proxy B, qui les transmet la requête au serveur C. Le serveur C envoie ensuite sa réponse au proxy B, qui la retransmet à l'ordinateur A.
CDN ultrarapide
Boostez les performances avec Cloudflare CDN
Pourquoi ajouter cet intermédiaire supplémentaire à son activité Internet ? Il existe quelques raisons pour ce faire :
- Pour éviter les restrictions de navigation imposées par l'État ou les institutions : certains gouvernements, écoles et autres organisations emploient des pare-feu pour offrir à leurs utilisateurs un accès à une version limitée d'Internet. Un proxy de transfert peut permettre de contourner ces restrictions, car l'utilisateur se connecte alors au proxy plutôt que directement aux sites visités.
- Pour bloquer l'accès à certains contenus : inversement, la mise en place d'un proxy peut également servir à empêcher un groupe d'utilisateurs d'accéder à certains sites. Un réseau scolaire peut, par exemple, être configuré pour se connecter au web par l'intermédiaire d'un proxy disposant de règles de filtrage de contenu chargées de refuser la transmission des réponses provenant de Facebook et d'autres sites de réseaux sociaux.
- Pour protéger son identité en ligne : dans certains cas, les internautes ordinaires souhaitent simplement profiter d'un anonymat accru en ligne, mais dans d'autres, les internautes considérés comme dissidents politiques par leur gouvernement peuvent s'exposer à de graves sanctions dans certains pays. La critique du gouvernement sur un forum web ou sur les réseaux sociaux peut entraîner des amendes ou des peines d'emprisonnement pour ces utilisateurs. Si l'un de ces dissidents passe par un proxy de transfert pour se connecter à un site web sur lequel il publie des commentaires politiquement sensibles, l'adresse IP utilisée pour publier ces commentaires sera plus difficile à remonter. En effet, seule l'adresse IP du serveur proxy sera visible.
En quoi un proxy inverse est-il différent ?
Un proxy inverse désigne un serveur placé devant un ou plusieurs serveurs web et qui intercepte les requêtes provenant des clients. Il est différent d'un proxy de transfert, qui se place lui devant les clients. Dans le cadre d'un proxy inverse, les requêtes envoyées par les clients au serveur d'origine d'un site web sont interceptées en périphérie du réseau par le serveur proxy. Ce dernier envoie alors des requêtes au serveur d'origine et reçoit des réponses de ce dernier.
La différence entre un proxy de transfert et un proxy inverse s'avère subtile, mais importante. Un moyen simple de la résumer consisterait à dire qu'un proxy de transfert se place devant un client et garantit l'absence de communication entre un serveur d'origine et ce client spécifique. Un proxy inverse, quant à lui, se situe devant un serveur d'origine et garantit l'absence de communication entre un client et le serveur d'origine protégé.
Illustrons encore une fois la situation en nommant les ordinateurs concernés :
- D, un nombre quelconque d'ordinateurs personnels
- E, un serveur de proxy inverse
- F, un ou plusieurs serveurs d'origine
En général, l'ensemble des requêtes provenant d'un ordinateur D circulent directement vers un serveur d'origine F, qui renvoie ses réponses directement à l'ordinateur D. Dans une situation de proxy inverse, l'ensemble des requêtes de l'ordinateur D se rendront directement au serveur de proxy E, qui transmettra les requêtes au serveur d'origine F et recevra les réponses de ce dernier, avant de les transmettre à l'ordinateur D.
Découvrez ci-dessous certains des avantages liés à l'utilisation d'un proxy inverse :
- Équilibrage de charge : un site web populaire accueillant des millions d'utilisateurs chaque jour peut ne pas être en mesure de gérer l'ensemble du trafic entrant sur son site à l'aide d'un seul serveur d'origine. À la place, le site peut être réparti sur un ensemble de serveurs différents, tous dédiés au traitement des requêtes pour le même site. Dans ce cas, un proxy inverse peut constituer une solution d'équilibrage de charge permettant de distribuer le trafic entrant de manière égale entre les différents serveurs afin d'éviter la surcharge de l'un d'entre eux. En cas de défaillance complète d'un serveur, les autres serveurs peuvent prendre le relais pour gérer le trafic.
- Protection contre les attaques : avec un proxy inverse en place, un site ou un service web n'a jamais besoin de révéler l'adresse IP de son ou ses serveurs d'origine. Il est donc beaucoup plus difficile pour les pirates de lancer une attaque ciblée contre eux, comme une attaque DDoS. Les pirates ne pourront alors viser que le proxy inverse (comme le réseau CDN de Cloudflare), qui peut compter sur une sécurité plus stricte et davantage de ressources pour repousser une cyberattaque.
- Équilibrage de la charge des serveurs à l'échelle mondiale (Global Server Load Balancing, GSLB) : cette forme d'équilibrage de charge permet à un site web d'être distribué sur plusieurs serveurs dans le monde entier. Le proxy inverse redirigera alors les clients vers le serveur le plus proche géographiquement. Cette solution permet de réduire les distances que les requêtes et les réponses doivent parcourir, minimisant ainsi les temps de chargement.
- Mise en cache : un proxy inverse peut également mettre en cache le contenu afin d'améliorer la rapidité d'un site. Ainsi, un utilisateur à Paris visitant un site web associé à un proxy inverse (et disposant de serveurs web à Los Angeles) pourrait en fait se connecter à un serveur proxy inverse local à Paris, qui se chargera ensuite de communiquer avec un serveur d'origine à Los Angeles. Le serveur proxy pourra alors mettre en cache (ou enregistrer temporairement) les données de réponse. Les utilisateurs parisiens qui se rendront par la suite sur ce site obtiendront la version mise en cache localement en réponse du serveur de proxy inverse parisien, entraînant ainsi une expérience de navigation plus rapide.
- Chiffrement SSL : le chiffrement et le déchiffrement des communications SSL (ou TLS) de chaque client peuvent s'avérer coûteux en termes de calcul pour un serveur d'origine. Un proxy inverse peut ainsi être configuré pour déchiffrer toutes les requêtes entrantes et chiffrer l'ensemble des réponses sortantes, afin de libérer de précieuses ressources sur le serveur d'origine.
Mise en œuvre d'un proxy inverse
Certaines entreprises développent leurs propres solutions de proxy inverse, mais ce mode de fonctionnement nécessite des ressources considérables en matière d'ingénierie logicielle et matérielle, ainsi qu'un investissement important en équipements physiques. L'un des moyens les plus simples et les plus rentables de profiter de tous les avantages d'un proxy inverse consiste à souscrire à un service CDN. Le réseau CDN de Cloudflare propose ainsi l'ensemble des fonctionnalités d'amélioration de la sécurité et des performances mentionnées ci-dessus, ainsi que de nombreuses autres.