Использование .NET Core 2.1, C #, Kestrel.
Это будет странный запрос, но: у меня есть внешний URL-адрес, для которого требуется HTTPS, и внутренний URL-адрес только для HTTP.
Мне интересно, как я могу перенаправить любой трафик на HTTP через порт 443 на HTTPS (оставаясь на том же порту, 443);в данный момент он остается по HTTP и умирает ужасной смертью.
(Примечание: порт 888 остается как HTTP, а любой трафик, который идет туда, должен оставаться как незащищенный HTTP.)
У меня естьнастроить в Program.cs следующим образом:
WebHost.CreateDefaultBuilder(args)
.UseStartup<Startup>()
.UseKestrel(options =>
{
options.Listen(IPAddress.Any, 443, opts=>
{
opts.UseHttps("mycert.pfx");
});
options.Listen(IPAddress.Any, 888);
})
.Build();
При запуске я попытался с помощью Configure (IApplicationBuilder app ...) app.UseHttpsRedirection ();
Но это привело к тому, что ВСЕ трафик на обоих портах был перенаправлен на HTTPS, что является проблемой для 888, поскольку для него нет сертификата SSL!
Есть ли способ перенаправить с HTTP на HTTPS в зависимости от того, какой порт я его укажуза?Спасибо