BT

Diffuser les Connaissances et l'Innovation dans le Développement Logiciel d'Entreprise

Contribuez

Sujets

Sélectionner votre région

Accueil InfoQ Actualités Microsoft Publie YARP - Yet Another Reverse Proxy

Microsoft Publie YARP - Yet Another Reverse Proxy

L'année dernière, en novembre, Microsoft a lancé YARP (Yet Another Reverse Proxy), un projet de reverse proxy développé au cours des dernières années par Microsoft en tant que projet open source.

Un proxy standard est un logiciel qui agit comme une passerelle entre le réseau privé et Internet. Il écoute les requêtes HTTP sortantes, effectuant généralement des tâches liées à la confidentialité ou à la sécurité.

Un reverse proxy fonctionne dans le sens inverse. Il est généralement installé à l'intérieur du réseau local, derrière le pare-feu, et écoute les requêtes entrantes. Il est souvent utilisé comme routeur pour rediriger les requêtes entrantes vers un endpoint approprié, ce qui peut se produire lorsque plusieurs serveurs Web s'exécutent sur une machine ou même mettent en place un système de répartition de charge.


Image source: https://devblogs.microsoft.com/dotnet/wp-content/uploads/sites/10/2021/11/image1.png

Les reverse proxys fonctionnent dans la couche application (couche OSI 7), ce qui signifie qu'ils peuvent traiter les requêtes en fonction de leurs URL et en-têtes, à la différence des routeurs physiques ou des pare-feux, qui agissent sur la couche transport (couche OSI 4).

Comme un projet de reverse proxy peut avoir une large portée, il peut être difficile de choisir le logiciel approprié pour celui-ci, mais développer une toute nouvelle application à partir de zéro prendrait également beaucoup de temps. Sur la base de ces considérations, Microsoft a proposé YARP, une boîte à outils qui peut être utilisée pour créer des reverse proxys personnalisés à l'aide de .NET.

YARP a été écrit en C# par les équipes ASP.NET et réseau de Microsoft, et il offre plusieurs fonctionnalités liées au proxy dont les développeurs peuvent tirer parti. Les routes peuvent être définies à l'aide d'en-têtes URL ou HTTP ; ils peuvent être définis avec les destinations dans le fichier de configuration de l'application ou par programmation. Pour les applications qui n'ont besoin que de rediriger les requêtes, les développeurs n'ont pas besoin d'exécuter une solution YARP complète. Il existe une fonctionnalité appelée direct forwarding, qui peut être utilisée via l'interface IHttpForwarder, qui représente l'adaptateur proxy principal entre les requêtes entrantes AspNetCore et sortantes System.Net.Http.

YARP a cinq politiques de répartition de charge : FirstAlphabetical, Random, PowerOfTwoChoices (par défaut), RoundRobin et LeastRequests, que les développeurs peuvent sélectionner en fonction de leurs besoins.

Les autres fonctionnalités présentes sur l'outil de reverse proxy sont la vérification de l'état de la destination, la transformation des verbes (methods) URL et HTTP, ainsi que la mesure des performances et des journaux pour suivre les requêtes et leur manipulation.

Il s'agit de la première version officielle de YARP. Néanmoins, Microsoft a déjà répertorié les fonctionnalités des futures versions, telles que la prise en charge complète de HTTP 3, des améliorations des performances, le remplacement de l'utilisation de HttpClient par LLHTTP et l'intégration avec Kubernetes.

Microsoft n'a pas de véritable canal de support pour YARP, mais les bugs et les problèmes peuvent être signalés sur GitHub. Les problèmes de sécurité doivent être signalés en privé, en contactant le Microsoft Security Response Center.

Pour démarrer avec YARP, il vous suffit de référencer son package NuGet dans votre projet et de commencer à coder en fonction de vos besoins. Le projet est open source et compatible avec .NET Core 3.1, .NET 5 et .NET 6. Il peut donc être utilisé sur les systèmes d'exploitation Linux, macOS et Windows. Sur la page GitHub du projet, il est possible de trouver plus d'informations, comme la documentation de YARP, les questions ouvertes et fermées, et des discussions sur le reverse proxy qui vient d'être publié.

 

Au sujet de l’Auteur

Evaluer cet article

Pertinence
Style

Contenu Éducatif

BT