Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Introduktion till YARP
YARP (Yet Another Reverse Proxy) är ett mycket anpassningsbart omvänd proxybibliotek för .NET. Den är utformad för att ge ett robust, flexibelt, skalbart, säkert och enkelt proxyramverk. YARP hjälper utvecklare att skapa kraftfulla och effektiva omvända proxylösningar som är skräddarsydda för deras specifika behov.
Vad en omvänd proxy gör
En omvänd proxy är en server som finns mellan klientenheter och backend-servrar. Den vidarebefordrar klientbegäranden till lämplig serverdelsserver och returnerar sedan serverns svar till klienten. En omvänd proxy ger flera fördelar:
- Routning: Dirigerar begäranden till olika serverdelsservrar baserat på fördefinierade regler, till exempel URL-mönster eller begärandehuvuden. Tillexempel kan
/images,/apioch/dbförfrågningar dirigeras till bild-, api- och databasserverar. - Belastningsutjämning: Distribuerar inkommande trafik över flera backend-servrar för att förhindra överbelastning av en specifik server. Distributionen ökar prestanda och tillförlitlighet.
- Skalbarhet: Genom att distribuera trafik över flera servrar hjälper en omvänd proxy att skala appar för att hantera fler användare och högre belastningar. Serverdelsservrar skalas (läggs till eller tas bort) utan att det påverkar klienten.
- SSL/TLS-avslutning: Avlastar TLS-krypterings- och dekrypteringsprocesserna från backendservrar, vilket minskar deras arbetsbelastning.
- Anslutningsabstraktion, frikoppling och kontroll över URL-utrymme: Inkommande begäranden från externa klienter och utgående svar från serverdelen är oberoende. Detta oberoende möjliggör olika:
- Versioner av HTTP, dvs. HTTP/1.1, HTTP/2, HTTP/3. Proxyn kan uppgradera eller nedgradera HTTP-versioner.
- Anslutningslivslängd, vilket gör det möjligt att ha långvariga anslutningar på serverdelen samtidigt som korta klientanslutningar upprätthålls.
- Kontroll över URL-space: Inkommande URL:er kan omvandlas innan vidarebefordran till serverdelen. Detta abstraherar de externa URL:erna från hur de mappas till interna tjänster. Interna tjänstslutpunkter kan ändras utan att påverka externa URL:er.
- Säkerhet: Interna tjänstslutpunkter kan döljas från extern exponering och skydda mot vissa typer av cyberattacker, till exempel DDoS-attacker.
- Cachelagring: Ofta begärda resurser kan cachelagras för att minska belastningen på serverdelsservrar och förbättra svarstiderna.
- Versionshantering: Olika versioner av ett API kan stödjas med hjälp av olika URL-mappningar.
- Förenklat underhåll: Omvända proxyservrar kan hantera SSL/TLS-avslutning och andra uppgifter, vilket förenklar konfigurationen och underhållet av bakomliggande servrar. Till exempel kan SSL-certifikat och säkerhetsprinciper hanteras på omvänd proxynivå i stället för på varje enskild server.
Så här hanterar en omvänd proxy HTTP
En omvänd proxy hanterar HTTP-begäranden och svar på följande sätt:
- Tar emot begäranden: Den omvända proxyn lyssnar på angivna portar och slutpunkter för inkommande HTTP-begäranden från klienter.
- Avsluta anslutningar: De inkommande HTTP-anslutningarna avslutas vid proxyn och nya anslutningar används för utgående begäranden till mål.
- Routningsbegäranden: Baserat på fördefinierade routningsregler och konfigurationer avgör den omvända proxyn vilken serverdelsserver eller serverkluster som ska hantera begäran.
- Vidarebefordra förfrågningar: Den omvända proxyn vidarebefordrar klientbegäran till lämplig bakgrundsserver och transformerar sökvägen och rubrikerna efter behov.
- Anslutningspooler: De utgående anslutningarna är poolade för att minska anslutningskostnaderna och utnyttja HTTP 1.1-återanvändning och parallella begäranden med HTTP/2 och HTTP/3 på bästa sätt.
- Bearbetning av svar: Bakändeservern bearbetar begäran och skickar ett svar tillbaka till den omvända proxyn.
- Returnerar svar: Den omvända proxyn tar emot svaret från den bakomliggande servern och vidarebefordrar det till klienten och utför alla nödvändiga transformationer av svar.
Den här processen säkerställer att klienten interagerar med den omvända proxyn i stället för direkt med serverdelsservrarna, vilket ger fördelarna med belastningsutjämning, säkerhet, versionshantering med mera.
Varför välja YARP framför andra proxyservrar
YARP erbjuder flera unika fördelar som gör det till ett attraktivt val för utvecklare:
- Anpassning: YARP är mycket anpassningsbart, vilket gör det möjligt för utvecklare att skräddarsy proxyn efter sina specifika behov med minimal ansträngning.
- Integrering med .NET: Med ASP.NET Core integreras YARP sömlöst med .NET-ekosystemet, vilket gör det till ett idealiskt val för .NET-utvecklare.
- Utökningsbarhet: YARP tillhandahåller en omfattande uppsättning utökningspunkter som gör det möjligt för utvecklare att lägga till anpassad logik och funktioner efter behov med hjälp av välbekant C#-kod.
- Skalbarhet: Alternativet för direkt vidarebefordringsutvidgning gör att YARP kan skalas för att stödja domännamns- och backendskalning som inte är möjliga med de flesta omvända proxyservrar.
- Aktiv utveckling: YARP underhålls aktivt och utvecklas av Microsoft, vilket säkerställer att det håller sig up-touppdaterad med de senaste teknikerna och bästa metoder.
- Omfattande underhållen dokumentation: YARP levereras med omfattande dokumentation och exempel, vilket gör det enkelt att komma igång och implementera avancerade funktioner.
- med öppen källkod. YARP och YARP-dokumentationen är öppen källkod. Bidrag, recensioner och feedback är välkomna.
ASP.NET Core