#asp.net-core #nginx #amazon-elastic-beanstalk #identityserver4 #amazon-elb
Вопрос:
У меня есть веб-приложение .net core 3.1 с сервером идентификации 4, которое работает с обратным прокси-сервером Nginx. и балансировщик нагрузки перед https. При локальном доступе конечная точка обнаружения показывает https, но при развертывании конечные точки показывают http вместо https при доступе с конечной точкой https с действительным сертификатом и надлежащим dns.
попытался добавить заголовки x-forward также как в коде, так и в конфигурации nginx.
Комментарии:
1. Как вы настроили сервер идентификации? Опубликуйте соответствующие разделы
Startup.cs
иappsettings.json
, если это настроено оттуда.2. Кроме того, где вы развернули код?
Ответ №1:
В нашей реализации хоста Identityserver мы используем следующее промежуточное программное обеспечение:
app.Use((context, next) =>
{
if (Environment.GetEnvironmentVariable("SSL_OFFLOAD") == "true")
context.Request.Scheme = "https";
return next();
});
Близко к вершине
Configure(IApplicationBuilder app, IWebHostEnvironment env)
Где SSL_OFFLOAD
просто пользовательская переменная среды, введенная в docker service create
.
Отлично работает в течение многих лет.