Introducing G2.ai, the future of software buying.Try now

Proxy inverse : comment ça fonctionne, exemples et cas d'utilisation

8 Octobre 2024
par Sagar Joshi

En réseau, un proxy agit comme un intermédiaire entre le client et le serveur, gérant les requêtes et les réponses au nom des autres appareils.

Les proxys inversés, cependant, se trouvent devant les serveurs web. Ils transmettent les requêtes des clients au serveur et renvoient la réponse du serveur aux clients. Du point de vue du client, il semble que la réponse provienne du serveur web d'origine alors qu'elle provient en réalité du serveur proxy inversé.

Le proxy inversé offre une couche entre le client et le serveur, fournissant un contrôle supplémentaire pour garantir que le trafic réseau s'écoule sans heurts. De nombreuses organisations l'utilisent avec des logiciels d'équilibrage de charge pour distribuer un trafic élevé tout en maintenant les fonctionnalités appropriées du site web.

La couche de proxy inversé devant le serveur web analyse la requête du client pour détecter toute activité malveillante avant que le trafic n'atteigne votre serveur web.

Comment fonctionne un proxy inversé ?

Les proxys inversés ont un seul but : protéger les serveurs web du trafic entrant. Ils reçoivent les demandes de connexion, les envoient à différents serveurs, puis établissent une connexion avec le serveur traitant la requête.

Voici trois étapes dans lesquelles les proxys inversés opèrent.

  • Collecte des requêtes : Le proxy inversé intercepte les requêtes entrantes provenant des clients.
  • Protocole de contrôle de transmission (TCP) à trois voies : Une connexion est établie avec le proxy inversé, qui termine la connexion initiale et initie une nouvelle connexion avec le serveur.
  • Connexion au serveur d'origine : La requête du client est transmise au serveur en utilisant une adresse IP de leurre pour masquer le serveur d'origine.

La plupart des applications web utilisent un proxy inversé pour gérer les requêtes d'un navigateur web. Ils ne permettent pas aux clients de se connecter directement à un serveur d'origine. Cela protège les données sensibles et minimise le risque d'accès non autorisé.

Le proxy inversé examine également les réponses des serveurs pour tout ce qu'un pirate malveillant pourrait utiliser pour obtenir un accès non autorisé aux ressources internes.

Voici comment fonctionne un proxy inversé dans la communication Internet.

Voici comment fonctionne un proxy inversé dans la communication Internet :

  • Internet : Où puis-je trouver « media.example.com » ?
  • DNS : C'est à cette adresse de protocole Internet (IP) X.XX.XXX.X. C'est l'adresse IP publique de votre routeur.
  • Internet : Routeur, où est media.example.com ?
  • Routeur : C'est une requête du port 80/443. Je transfère toutes les requêtes sur ces ports à 192.168.1.10.
  • Internet : Bonjour 192.168.1.10 sur le port 80/443, où est media.example.com ?
  • Proxy inversé : C'est juste ici sur le port 8080. Je vais vous le transférer sur le port 80/443.

Vous voulez en savoir plus sur Logiciel d'équilibrage de charge ? Découvrez les produits Équilibrage de charge.

Que font les serveurs proxy inversés ?

Les serveurs proxy inversés s'occupent de plusieurs choses lors de la recherche d'informations en ligne. Ces serveurs peuvent :

  • Cacher les caractéristiques et l'existence d'un serveur d'origine.
  • Effectuer l'accélération de la sécurité de la couche de transport (TLS) avec du matériel pour effectuer le chiffrement TLS à la place des sites web sécurisés.
  • Équilibrer les charges des requêtes entrantes entre les serveurs, soutenant leurs domaines d'application.
  • Réduire la charge sur le serveur d'origine en travaillant comme un serveur d'accélération web qui peut mettre en cache du contenu statique et dynamique.
  • Effectuer des tests multivariés et des tests A/B sans insérer de JavaScript directement dans les pages.
  • Libérer des ressources serveur pendant le temps de transfert en servant aux clients des pages générées dynamiquement bit par bit, même lorsqu'elles sont produites en une seule fois.
  • Distribuer les requêtes entrantes à plusieurs serveurs web au sein d'un réseau local tout en les évaluant via une seule adresse IP publique.

Pourquoi avez-vous besoin d'un serveur proxy inversé ?

Les proxys inversés facilitent l'équilibrage de charge pour les interfaces de programmation d'applications (API) et les applications web. Vous pouvez facilement décharger des services des applications, améliorant les performances grâce à l'accélération SSL, la compression et la mise en cache. Il offre une couche supplémentaire d'abstraction avec ce qui suit.

Sécurité, scalabilité et flexibilité accrues

Les informations de votre serveur backend sont cachées à tous les clients, empêchant les pirates d'y accéder ou d'exploiter des vulnérabilités. Les proxys inversés aident également à prévenir les attaques par déni de service distribué (DDoS) en rejetant le trafic de certaines adresses IP ou en limitant les requêtes de connexion des clients.

Étant donné que le serveur d'origine n'est pas directement exposé, vous pouvez facilement modifier la configuration du backend. Cela est utile pour les environnements équilibrés en charge, où vous pouvez adapter les fluctuations de volume de trafic en augmentant ou en diminuant le nombre de serveurs.

Avec un proxy inversé, vous n'avez jamais besoin de révéler l'adresse IP de votre serveur d'origine. Toutes les requêtes vont au proxy inversé, tel que le réseau de diffusion de contenu (CDN) de Cloudflare, qui aura une sécurité plus robuste et des ressources étendues pour se protéger contre les cyberattaques.

Compression au niveau du proxy

Les proxys inversés réduisent la quantité de données à partager avec le réseau. De nombreux serveurs proxy utilisent la compression Gzip sur le langage de balisage hypertexte (HTML), les feuilles de style en cascade (CSS), le JavaScript Object Notation (JSON), le JavaScript, le langage de balisage extensible (XML) et divers autres types de contenu.

Équilibrage de la charge

Gérer des millions d'utilisateurs quotidiennement sur un site web avec un seul serveur d'origine devient compliqué. Habituellement, ces sites utilisent un pool de serveurs distribué, traitant toutes les requêtes en même temps. Le proxy inversé et le logiciel d'équilibrage de charge offrent une solution dans de tels cas en distribuant les requêtes entrantes entre différents serveurs et en minimisant la surcharge. En cas de défaillance d'un serveur, la charge est gérée par d'autres serveurs du pool.

Pour les applications mondiales, les proxys inversés peuvent acheminer les requêtes des clients vers le serveur le plus proche d'eux pour réduire la latence et accélérer les temps de réponse. Cette distribution géographique est un avantage clé pour les sites web à grande échelle avec un trafic mondial.

Mise en cache

Un serveur proxy inversé met en cache le contenu pour améliorer les performances. Par exemple, si une personne en Inde visite un site web avec un proxy inversé avec des serveurs à Los Angeles, elle pourrait se connecter à un proxy inversé local en Inde. Le proxy communiquerait avec le serveur à Los Angeles.

Le serveur proxy inversé local en Inde met en cache les données de réponse. La prochaine fois que quelqu'un d'Inde tente de visiter le site web, le proxy inversé local lui montre la version mise en cache du site web, rendant ses performances plus rapides.

Chiffrement

Appliquer le chiffrement ou déchiffrement du protocole de sécurisation des sockets (SSL) peut être coûteux en termes de calcul pour le serveur d'origine. Dans de tels cas, les organisations utilisent un proxy inversé pour déchiffrer toutes les requêtes entrantes et chiffrer les réponses sortantes.

Il libère des ressources précieuses sur le serveur d'origine, le rendant plus efficace pour exécuter des opérations critiques.

Proxy inversé vs proxy direct

Un proxy inversé se situe devant le serveur, gérant les requêtes entrantes du client. En revanche, un proxy direct (communément appelé proxy) se situe devant les machines clientes. Lorsque ces machines communiquent avec Internet et envoient des requêtes, le serveur proxy les interprète et communique avec le serveur web au nom des clients.

Pour comprendre en détail une communication typique de proxy direct, prenons un exemple :

Considérons trois ordinateurs domestiques {A}, un serveur proxy direct {B}, et un serveur d'origine d'un site web {C}.

flux de proxy direct

Source : Cloudflare

Sans serveur proxy, un ordinateur A se connecterait directement avec le serveur C pour envoyer la requête et obtenir des réponses du serveur. Avec un proxy direct, A envoie des requêtes à B, qui les transmet à C. La réponse suit le même chemin, gardant le client (A) anonyme.

Inversement, les proxys inversés interceptent les requêtes des clients à la périphérie du réseau devant le serveur d'origine d'un site web.

La différence entre un proxy direct et un proxy inversé est subtile. Alors qu'un proxy inversé garantit qu'aucun client ne communique directement avec le serveur d'origine, un proxy direct garantit qu'aucun serveur d'origine ne communique jamais directement avec le client spécifique.

Voici quelques différences notables entre le proxy inversé et le proxy direct.

  • Utilisation : Les proxys directs aident à surveiller et contrôler le contenu web auquel les employés accèdent et à empêcher le trafic malveillant d'atteindre les serveurs d'origine. Ils utilisent le contenu en cache pour l'accélération web, améliorant le temps de chargement et l'expérience des utilisateurs.
  • Direction du trafic : Dans le cas du proxy inversé, la direction du flux de trafic est entrante (internet vers le serveur). Pour le proxy direct, c'est du client au serveur.
  • Mise en cache : Le proxy inversé met en cache le contenu statique pour l'équilibrage de charge. Les proxys directs mettent en cache le contenu fréquemment consulté.
  • Gestion SSL/TLS : Les proxys inversés terminent les connexions SSL/TLS pour les serveurs, tandis que les proxys directs initient ces connexions au nom des clients.
  • Scalabilité : Les proxys inversés évoluent avec le nombre de serveurs. Les proxys directs évoluent avec le nombre de clients.

Cas d'utilisation courants des proxys inversés

Voici quelques cas d'utilisation courants des proxys inversés dans une organisation.

  • Servir du contenu statique : Un site web a un mélange de contenu dynamique et statique. Certaines organisations configurent leur serveur proxy inversé pour servir du contenu statique, réduisant le temps de chargement et libérant plus de puissance pour le rendu du contenu dynamique.
  • Prévenir les violations de données : Les proxys inversés chiffrent les données transmises à travers un réseau, aidant les entreprises à se protéger contre les violations de données.
  • Routage des requêtes des clients en fonction de la géolocalisation : Un proxy inversé peut acheminer les requêtes des clients vers le serveur le plus proche d'eux en fonction de leur localisation géographique.
  • Sécuriser les passerelles web : Les proxys inversés cachent l'identité du serveur d'origine, le protégeant des acteurs malveillants.

En dehors de cela, les proxys inversés sont utilisés dans les réseaux de diffusion de contenu pour mettre en cache le contenu aux bords du réseau plus proches du client et dans les services web mobiles pour optimiser les images et les scripts pour les appareils mobiles.

Gérer efficacement le flux de trafic élevé

Dans l'ensemble, les proxys inversés sont des outils polyvalents avec des applications dans de nombreux cas d'utilisation. Pour toute entreprise ayant des difficultés à gérer un trafic important, le proxy inversé offre une solution pour faire circuler le trafic de manière fluide. Il améliore l'efficacité du serveur et ajoute une couche supplémentaire de sécurité, garantissant que le trafic web et les pirates restent en dehors de vos réseaux.

Choisissez le bon proxy inversé et l'équilibreur de charge pour votre entreprise et gardez votre site web opérationnel de manière efficace.

En savoir plus sur comment un équilibreur de charge distribue un trafic entrant élevé sur une application tout en assurant une fonctionnalité appropriée.

Édité par Monishka Agrawal

Sagar Joshi
SJ

Sagar Joshi

Sagar Joshi is a former content marketing specialist at G2 in India. He is an engineer with a keen interest in data analytics and cybersecurity. He writes about topics related to them. You can find him reading books, learning a new language, or playing pool in his free time.