Dela via


Komma igång med YARP

YARP är utformat som ett bibliotek som tillhandahåller de viktigaste proxyfunktionerna, som du kan anpassa genom att lägga till eller ersätta moduler. YARP tillhandahålls för närvarande som ett NuGet-paket och kodexempel. Vi planerar att tillhandahålla en projektmall och en fördefinierad körbar fil (.exe) i framtiden.

YARP implementeras ovanpå .NET-infrastrukturen och kan användas i Windows, Linux eller MacOS. Utveckla appar med SDK och din favoritredigerare, Microsoft Visual Studio eller Visual Studio Code.

YARP 2.3.0 stöder .NET 8 eller senare.

Du kan ladda ned .NET SDK från https://dotnet.microsoft.com/download/dotnet/.

Skapa ett nytt projekt

En fullständig version av projektet som skapats med hjälp av stegen nedan finns på Basic YARP Sample.

Börja med att skapa ett tomt ASP.NET Core-program med hjälp av kommandoraden:

dotnet new web -n MyProxy

Du kan också skapa en ny ASP.NET Core-webbapp i Visual Studio 2022 och välja "Tom" för projektmallen.

Lägg till paketreferensen

Lägg till en paketreferens för Yarp.ReverseProxy, version 2.3.0 eller senare.

dotnet add package Yarp.ReverseProxy

Note

Mer information om hur du lägger till paket i .NET-appar finns i artiklarna under Installera och hantera paketArbetsflöde för paketförbrukning (NuGet-dokumentation). Bekräfta rätt paketversioner på NuGet.org.

Lägg till YARP Middleware

Uppdatera Program-filen för att använda YARP Middleware:

var builder = WebApplication.CreateBuilder(args);
builder.Services.AddReverseProxy()
    .LoadFromConfig(builder.Configuration.GetSection("ReverseProxy"));
var app = builder.Build();
app.MapReverseProxy();
app.Run();

Configuration

Konfigurationen för YARP definieras i filen appsettings.json. Mer information finns i YARP-konfigurationsfiler.

Konfigurationen kan också tillhandahållas programmatiskt. Mer information finns i YARP Extensibility Configuration Providers.

Läs mer om tillgängliga konfigurationsalternativ genom att titta på RouteConfig och ClusterConfig.

{
 "Logging": {
   "LogLevel": {
     "Default": "Information",
     "Microsoft": "Warning",
     "Microsoft.Hosting.Lifetime": "Information"
   }
 },
 "AllowedHosts": "*",
 "ReverseProxy": {
   "Routes": {
     "route1" : {
       "ClusterId": "cluster1",
       "Match": {
         "Path": "{**catch-all}"
       }
     }
   },
   "Clusters": {
     "cluster1": {
       "Destinations": {
         "destination1": {
           "Address": "https://example.com/"
         }
       }
     }
   }
 }
}

Kör projektet

När du använder .NET CLI använder du dotnet run i exemplets katalog eller dotnet run --project <path to .csproj file>.

Starta appen i Visual Studio genom att klicka på knappen Kör .