#c# #asp.net #docker #asp.net-core
#c# #asp.net #docker #asp.net-ядро
Вопрос:
существует ли также переменная среды для деактивации перенаправления SSL, например, для установки других переменных ASPNETCORE в контейнере docker? аналогично этим:
- ASPNETCORE_ENVIRONMENT=Production
- ASPNETCORE_URLS=https:// :443;http:// :80
- ASPNETCORE_Kestrel__Certificates__Default__Password=<pass>
- ASPNETCORE_Kestrel__Certificates__Default__Path=/usr/<path>/aspnetapp.pfx
Заранее спасибо.
Ответ №1:
В ASP.NET Основное перенаправление HTTPS обычно настраивается в коде. Фактически, это рекомендуемый способ сделать это в производственных веб-приложениях.
Таким образом, самым простым способом активации / деактивации, вероятно, было бы привязать этот код к типу среды, в которой вы его создаете.
Итак, в Configure
методе вашего Startup
класса вы можете сделать что-то вроде этого:
if (env.IsDevelopment())
{
// Just don't.
}
else
{
app.UseHttpsRedirection();
app.UseHsts();
}
В противном случае вы можете ввести свою собственную переменную и прочитать ее значение во время настройки:
var httpsRedirectEnabled =
Environment.GetEnvironmentVariable("ASPNETCORE_CUSTOM_HTTPS_REDIRECT") == "true";
if (httpsRedirectEnabled)
{
app.UseHttpsRedirection();
app.UseHsts();
}
Имейте в виду, это не лучший способ сравнения строк, но в крайнем случае он сработает.