Microsoft veröffentlicht YARP - einen weiteren Reverse Proxy

Letztes Jahr, im November, veröffentlichte Microsoft YARP (Yet Another Reverse Proxy), ein Reverse-Proxy-Projekt, das in den letzten Jahren von Microsoft als Open-Source-Projekt entwickelt wurde.

Ein regulärer Proxy ist eine Software, die als Gateway zwischen dem privaten Netzwerk und dem Internet fungiert. Er hört ausgehende HTTP-Anfragen ab und führt in der Regel datenschutz- oder sicherheitsbezogene Aufgaben aus.

Ein Reverse-Proxy funktioniert auf die entgegengesetzte Weise. Er befindet sich in der Regel innerhalb des lokalen Netzes, hinter der Firewall, und hört eingehende Anfragen ab. Er wird oft als Router verwendet, um die eingehenden Anfragen an einen geeigneten Endpunkt umzuleiten, was der Fall sein kann, wenn mehrere Webserver auf einem Rechner laufen oder sogar ein Lastausgleichssystem eingerichtet wird.

Da ein Reverse-Proxy-Projekt einen großen Umfang haben kann, kann es schwierig sein, eine geeignete Software dafür auszuwählen, aber auch die Entwicklung einer völlig neuen Anwendung von Grund auf würde viel Zeit in Anspruch nehmen. Auf der Grundlage dieser Überlegungen hat Microsoft YARP entwickelt, ein Toolkit, mit dem sich benutzerdefinierte Reverse-Proxys mit .NET erstellen lassen.

YARP wurde von den ASP.NET- und Netzwerk-Teams von Microsoft in C# geschrieben und bietet mehrere Proxy-bezogene Funktionen, von denen Entwickler profitieren können. Routen können über URL- oder HTTP-Header definiert werden; sie können zusammen mit den Zielen in der Konfigurationsdatei der Anwendung oder programmatisch festgelegt werden. Für Anwendungen, die nur Anfragen umleiten müssen, brauchen Entwickler keine vollständige YARP-Lösung zu verwenden. Es gibt eine Funktion namens direkte Weiterleitung, die über die Schnittstelle IHttpForwarder verwendet werden kann, die den zentralen Proxy-Adapter zwischen eingehenden AspNetCore- und ausgehenden System.Net.Http-Anfragen darstellt.

Dies ist die erste offizielle Version von YARP. Dennoch hat Microsoft bereits Funktionen für zukünftige Versionen aufgelistet, wie die volle Unterstützung für HTTP 3, Leistungsverbesserungen, die Ersetzung der Verwendung von HttpClient durch LLHTTP und die Integration mit Kubernetes.

Microsoft hat keinen eigenen Support-Kanal für YARP, aber Bugs und Probleme können auf GitHub gemeldet werden. Sicherheitsbedenken sollten privat gemeldet werden, indem man sich an das Microsoft Security Response Center wendet.

Um mit YARP zu beginnen, müssen Sie lediglich das NuGet-Paket in Ihrem Projekt referenzieren und mit der Codierung entsprechend Ihren Anforderungen beginnen. Das Projekt ist Open-Source und kompatibel mit .NET Core 3.1, .NET 5 und .NET 6. Daher kann es auf Linux-, macOS- und Windows-Betriebssystemen verwendet werden. Auf der GitHub-Seite des Projekts finden Sie weitere Informationen, wie die YARP-Dokumentation, offene und geschlossene Probleme und Diskussionen über den gerade veröffentlichten Reverse-Proxy.