YARP не работает, используя помощник по обновлению .NETC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Гость
 YARP не работает, используя помощник по обновлению .NET

Сообщение Гость »


Я использовал .Net Upgrade Assistant для обновления проекта нашего сайта с версии 4.8 до версии 7. Он создал параллельное приложение, и я пытаюсь выполнить шаги из найденной мной серии YouTube «Миграция ASP.NET». Проект .net 7 запускается и возвращает «hello world» от нового тестового контроллера, но возвращает 502 при попытке проксировать старое приложение. Старое приложение 4.8 необычно тем, что у нас есть локальные URL-адреса IIS (т. е. local.foo.com вместо localhost:7000), настроенные на наших локальных компьютерах с использованием сертификата разработки IIS Express. Мне удалось заставить прокси-сервер миграции работать с одним из других наших приложений, использующих IIS Express, но мне трудно понять, какая конфигурация может отсутствовать в старом или новом приложениях, чтобы прокси-сервер работал.
Это из консоли отладки:

Код: Выделить всё

info: Microsoft.Hosting.Lifetime[14]
Now listening on: https://localhost:7055
info: Microsoft.Hosting.Lifetime[14]
Now listening on: http://localhost:5055
info: Microsoft.Hosting.Lifetime[0]
Application started. Press Ctrl+C to shut down.
info: Microsoft.Hosting.Lifetime[0]
Hosting environment: Development
info: Microsoft.Hosting.Lifetime[0]
Content root path: C:\PUE.Development\lms\Web.SiteCore
info: Yarp.ReverseProxy.Forwarder.HttpForwarder[9]
Proxying to https://local.foo.com/ HTTP/2 RequestVersionOrLower no-streaming
info: Yarp.ReverseProxy.Forwarder.HttpForwarder[48]
Request: An error was encountered before receiving a response.
System.Net.Http.HttpRequestException: The SSL connection could not be established, see inner exception.
---> System.Security.Authentication.AuthenticationException: The remote certificate is invalid according to the validation procedure: RemoteCertificateNameMismatch
at System.Net.Security.SslStream.CompleteHandshake(SslAuthenticationOptions sslAuthenticationOptions)
at System.Net.Security.SslStream.ForceAuthenticationAsync[TIOAdapter](Boolean receiveFirst, Byte[] reAuthenticationData, CancellationToken cancellationToken)
at System.Net.Http.ConnectHelper.EstablishSslConnectionAsync(SslClientAuthenticationOptions sslOptions, HttpRequestMessage request, Boolean async, Stream stream, CancellationToken cancellationToken)
--- End of inner exception stack trace ---
at System.Net.Http.ConnectHelper.EstablishSslConnectionAsync(SslClientAuthenticationOptions sslOptions, HttpRequestMessage request, Boolean async, Stream stream, CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.ConnectAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.AddHttp2ConnectionAsync(QueueItem queueItem)
at System.Threading.Tasks.TaskCompletionSourceWithCancellation`1.WaitWithCancellationAsync(CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.HttpConnectionWaiter`1.WaitForConnectionAsync(Boolean async, CancellationToken requestCancellationToken)
at System.Net.Http.HttpConnectionPool.SendWithVersionDetectionAndRetryAsync(HttpRequestMessage request, Boolean async, Boolean doRequestAuth, CancellationToken cancellationToken)
at System.Net.Http.DiagnosticsHandler.SendAsyncCore(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
at Yarp.ReverseProxy.Forwarder.HttpForwarder.SendAsync(HttpContext context, String destinationPrefix, HttpMessageInvoker httpClient, ForwarderRequestConfig requestConfig, HttpTransformer transformer, CancellationToken cancellationToken)
Вот код, сгенерированный помощником по обновлению для файла Program.cs нового приложения:

Код: Выделить всё

var builder = WebApplication.CreateBuilder(args);
builder.Services.AddSystemWebAdapters();
builder.Services.AddHttpForwarder();

// Add services to the container.
builder.Services.AddControllersWithViews();

var app = builder.Build();

if (!app.Environment.IsDevelopment())
{
app.UseHsts();
}

app.UseHttpsRedirection();
app.UseStaticFiles();

app.UseRouting();
app.UseAuthorization();
app.UseSystemWebAdapters();

app.MapDefaultControllerRoute();
app.MapForwarder("/{**catch-all}", app.Configuration["ProxyTo"])
.Add(static builder => ((RouteEndpointBuilder)builder).Order = int.MaxValue);

app.Run();

From debug launch profiles UI


Источник: https://stackoverflow.com/questions/773 ... -assistant
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как запустить помощник по обновлению Android SDK в IntelliJ?
    Anonymous » » в форуме Android
    0 Ответы
    25 Просмотры
    Последнее сообщение Anonymous
  • Помощник по обновлению AGP
    Anonymous » » в форуме Android
    0 Ответы
    32 Просмотры
    Последнее сообщение Anonymous
  • Помощник по обновлению AGP
    Anonymous » » в форуме Android
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous
  • Помощник по обновлению Flutter Agp с пространством имен
    Anonymous » » в форуме Android
    0 Ответы
    23 Просмотры
    Последнее сообщение Anonymous
  • Помощник по обновлению AGP Flutter AGP с пространством имен
    Anonymous » » в форуме Android
    0 Ответы
    21 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C#»