Compartilhar via


Introdução ao YARP

O YARP foi projetado como uma biblioteca que fornece a funcionalidade de proxy principal, que você pode personalizar adicionando ou substituindo módulos. Atualmente, o YARP é fornecido como um pacote NuGet e exemplos de código. Planejamos fornecer um modelo de projeto e executáveis predefinidos (.exe) no futuro.

O YARP é implementado sobre a infraestrutura do .NET Core e é utilizável no Windows, Linux ou MacOS. O desenvolvimento pode ser feito com o SDK e seu editor favorito, do Microsoft Visual Studio ou do Visual Studio Code.

O YARP 2.3.0 dá suporte ao .NET 8 ou posterior.

Você pode baixar o SDK do .NET de https://dotnet.microsoft.com/download/dotnet/.

Criar um novo projeto

Uma versão completa do projeto construída usando as etapas abaixo pode ser encontrada em Exemplo Básico de YARP.

Comece criando um aplicativo ASP.NET Core vazio usando a linha de comando:

dotnet new web -n MyProxy

Como alternativa, crie um novo aplicativo Web ASP.NET Core no Visual Studio 2022, escolhendo "Vazio" para o modelo de projeto.

Adicionar a referência do pacote

Adicione uma referência de pacote para o Yarp.ReverseProxy, versão 2.3.0 ou posterior.

dotnet add package Yarp.ReverseProxy

Observação

Para obter diretrizes sobre como adicionar pacotes a aplicativos .NET, consulte os artigos em Instalar e gerenciar pacotes no Fluxo de trabalho de consumo de pacotes (documentação do NuGet). Confirme as versões corretas de pacote em NuGet.org.

Adicionar o middleware YARP

Atualize o Program arquivo para usar o Middleware YARP:

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

Configuração

A configuração do YARP é definida no appsettings.json arquivo. Para obter mais informações, consulte Os Arquivos de Configuração do YARP.

A configuração também pode ser fornecida programaticamente. Para obter mais informações, consulte Provedores de Configuração de Extensibilidade YARP.

Saiba mais sobre as opções de configuração disponíveis examinando RouteConfig e 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/"
         }
       }
     }
   }
 }
}

Executar o projeto

Ao usar a CLI do .NET, use dotnet run dentro do diretório do exemplo ou dotnet run --project <path to .csproj file>.

No Visual Studio, inicie o aplicativo clicando no botão Executar .