UseHsts не работает с веб-сайтом NetCore 2.1 - PullRequest
0 голосов
/ 28 августа 2018

Я следовал инструкциям на Документация Microsoft для настройки UseHsts, но когда я захожу на свой веб-сайт, я не вижу заголовок Strict-Transport-Security. Я попробовал несколько вариантов конфигурации, но, похоже, ничего не изменило. Есть идеи, что мне не хватает?

public void ConfigureServices(IServiceCollection services)
{
    services.AddMvc();

    services.AddHsts(options =>
    {
    });

    services.AddHttpsRedirection(options =>
    {
    });            
}

public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
    app.UseHsts();
    app.UseHttpsRedirection();
    app.UseMvc();
}

Это изображение заголовков, которые я получаю в Chrome, но оно также выглядит в любом другом браузере.

enter image description here

Ответы [ 3 ]

0 голосов
/ 15 января 2019

Я столкнулся с той же проблемой в моем приложении ASP.NET Core 2.2. Документация Microsoft утверждает, что нет необходимости явно устанавливать Max-Age в методе AddHsts ():

Явно устанавливает для параметра максимального возраста заголовка Strict-Transport-Security значение 60 дней. Если не установлено, по умолчанию используется 30 дней. См. Директиву max-age для получения дополнительной информации.

Однако, установив это самостоятельно, мне удалось добавить заголовок к ответу.

В ConfigureServices () в Startup.cs:

if (!this.Environment.IsDevelopment())
{
    var currentDate = DateTime.Now;

    services.AddHsts(opt =>
    {
        opt.MaxAge = currentDate.AddYears(1) - currentDate;
        opt.IncludeSubDomains = true;
    });
}

В Configure () в Startup.cs:

if (env.IsDevelopment())
{
    app.UseDeveloperExceptionPage();
}
else
{
    app.ConfigureExceptionHandler(loggerFactory);
    app.UseHsts();
}

Пример заголовка ответа от моего размещенного приложения: enter image description here

ПРИМЕЧАНИЕ: другие заголовки ответа, которые я явно добавил в мой файл web.config.

0 голосов
/ 08 июля 2019

Это МОЖЕТ быть связано, но у меня возникла та же проблема, что и при использовании middlewared в неправильном порядке. Эта конфигурация включила заголовок ответа:

app.UseForwardedHeaders();
app.UseHsts();

Конечно, services.AddHsts(...) тоже легко пропустить.

0 голосов
/ 28 августа 2018

UseHsts исключает следующие петлевые хосты:

  • localhost: адрес обратной связи IPv4.
  • 127.0.0.1: адрес обратной связи IPv4.
  • [:: 1]: адрес обратной связи IPv6.

Вы можете попробовать опубликовать веб-приложение и проверить заголовок Strict-Transport-Security .

Ниже приведен результат публикации сайта в Azure.

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...