Основываясь на предложении @ Programmer в комментариях к OP, я взглянул на это: https://codeopinion.com/configuring-asp-net-core-behind-a-load-balancer/ Он точно описывает мою ситуацию (завершение ssl на балансировщике нагрузки и приложение .net core 2.0, перенаправляющее на httpдля входа).Затем я попытался сделать запрос через LB с заголовком, предложенным в статье, и добавил в метод Configure()
класса Startup
этот фрагмент кода:
app.UseForwardedHeaders(new ForwardedHeadersOptions
{
ForwardedHeaders = ForwardedHeaders.XForwardedProto
});
чтоИнтересно, что когда я сделал запрос, включающий заголовок proto:
X-Forwarded-Proto:https
извне LB, он передал этот заголовок в приложение, и он работал отлично, не более бесконечноцикл перенаправления.Однако, когда наши ребята из инфраструктуры добавили этот заголовок к запросу, который LB отправляет внутренним узлам за LB, я получил перенаправление на https, да, но оно также добавляло IP-адрес к URL-адресу перенаправления (у нас есть netscalerФУНТ).По-видимому, по умолчанию, когда вы добавляете пользовательский заголовок, есть флажок для включения IP-адреса во внутренний узел, который должен быть снят.После того, как это будет сделано, мы в деле.
Еще раз спасибо @Programmer за вашу помощь.Вы определенно указали мне в правильном направлении.