Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
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 é disponibilizado como um pacote NuGet e trechos de código. Planejamos fornecer um modelo de projeto e exe predefinido 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.1.0 dá suporte ao ASP.NET Core 6.0 e mais recente, incluindo ASP.NET Core 8.0. Você pode baixar o SDK do .NET de https://dotnet.microsoft.com/download/dotnet/.
O suporte do Visual Studio para .NET 8 está incluído no Visual Studio 2022 17.8.
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 "Empty" ASP.NET Core usando a linha de comando:
dotnet new web -n MyProxy -f net8.0
Ou crie um novo aplicativo Web ASP.NET Core no Visual Studio 2022 e escolha "Vazio" para o modelo de projeto.
Adicionar a referência do projeto
<ItemGroup>
<PackageReference Include="Yarp.ReverseProxy" Version="2.1.0" />
</ItemGroup>
Adicionar o middleware YARP
Atualize Program.cs 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 arquivo appsettings.json. Consulte Arquivos de Configuração para obter detalhes.
A configuração também pode ser fornecida programaticamente. Consulte Provedores de Configuração para obter detalhes.
Você pode saber 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/"
}
}
}
}
}
}
Executando o projeto
Use dotnet run
chamado no diretório do exemplo ou no dotnet run --project <path to .csproj file>