Yarp прокси не логирует редирект?
В настоящее время я играю с YARP (еще один обратный прокси-сервер). И, похоже, мне удалось «замкнуть» перенаправление?
одно из перенаправлений регистрируется, а другое не регистрируется, хотя они были настроены одинаково?
программа.cs
var builder = WebApplication.CreateBuilder(args);
// Add services to the container.
builder.Services.AddControllers();
// Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle
builder.Services.AddEndpointsApiExplorer();
builder.Services.AddReverseProxy().LoadFromConfig(builder.Configuration.GetSection("ReverseProxy"));
var app = builder.Build();
app.MapReverseProxy();
app.UseHttpsRedirection();
app.UseAuthorization();
app.MapControllers();
app.Run();
appsetting.json
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
},
"AllowedHosts": "*",
"ReverseProxy": {
"Routes": {
"serverforce": {
"ClusterId": "serverforce",
"Match": {
"Path": "google"
}
},
"azure": {
"ClusterId": "azure",
"Match": {
"Path": "msn"
}
}
},
"Clusters": {
"serverforce": {
"Destinations": {
"google": {
"Address": "https://google.de/"
}
}
},
"azure": {
"Destinations": {
"msn": {
"Address": "https://www.msn.com/da-dk"
}
}
}
}
}
}
https://localhost:7147/msn перенаправляет меня на https://www.msn.com/da-dk с сообщением журнала
info: Yarp.ReverseProxy.Forwarder.HttpForwarder[9]
Proxying to https://www.msn.com/da-dk/msn HTTP/2 RequestVersionOrLower no-streaming
https://localhost:7147/google перенаправляет меня на https://www.google.dk без сообщения в журнале
почему O не получает никаких сообщений журнала? а почему старый сайт, а не последний сайт? Я пытался перестроить и очистить перестроить проект несколько раз?
1 ответ
Чтобы ответить на ваш вопрос. Я проверил вашу конфигурацию, и все регистрируется правильно. Это мой файл проекта
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Yarp.ReverseProxy" Version="1.0.0" />
</ItemGroup>
</Project>
Журналы:
Попробуй удалить папки bin и obj
Использование обратного прокси для перенаправления некорректно. Обратные прокси-серверы используются для сокрытия существования и характеристик исходных серверов ( https://en.wikipedia.org/wiki/Reverse_proxy )
Вы видите, что исходные серверы перенаправляют вас на другой URL-адрес. Например, вы запрашиваете https://www.msn.com/da-dk/msn , а msn перенаправляет на https://www.msn.com/da-dk?r=1.
Попробуйте этот пример и посмотрите, что произойдет:
"ReverseProxy": {
"Routes": {
"bbc": {
"ClusterId": "bbc",
"Match": {
"Path": "news"
}
}
},
"Clusters": {
"bbc": {
"Destinations": {
"msn": {
"Address": "https://www.bbc.com/"
}
}
}
}
}