ASP .NET Core без заголовка HSTS в заголовках ответа - PullRequest
0 голосов
/ 11 октября 2019

В моем appsettings.json я добавил эту строку кода:

"Hsts": {
    "HstsEnable": true
 }

В launchSettings.json я добавил https://localhost:5000:

"applicationUrl": "http://localhost:5001;https://localhost:5000"

Затем в Program.cs iиспользовал эти URL:

 return WebHost.CreateDefaultBuilder(args)
            .UseKestrel(x => x.AddServerHeader = false)
            .UseUrls("http://localhost:5001", "https://localhost:5000")
            .UseStartup<Startup>()

В классе запуска, в Configure методе я получаю Hsts значение из appSettings.json:

if (Configuration.GetSection("Hsts").GetValue<bool>("HstsEnable"))
{
    app.UseHsts();
}

app.UseHttpsRedirection();

После всех этих шагов я не могу получить Strict-Transport-Security. Все, что я получаю из заголовков ответа:

 cache-control: no-store,no-cache 
 content-type: application/json; charset=utf-8 
 pragma: no-cache 

Hsts вырезанные заголовки из ответа. Без всех этих строк кода (для настройки hsts в моем приложении) сверху я получаю заголовки этого ответа:

access-control-allow-credentials: true 
access-control-allow-origin: * 
access-control-expose-headers: Content-Disposition 
cache-control: no-store,no-cache 
content-type: application/json; charset=utf-8 
date: Fri, 11 Oct 2019 09:21:30 GMT 
pragma: no-cache 
transfer-encoding: chunked 
vary: Origin 
x-frame-options: DENY 
x-stackifyid: id

Так что что-то не так с этим Hsts.

Как добавить заголовок HSTS в заголовки ответа, о котором я упоминал выше? Нужно ли мне жестко кодировать заголовок для моего Configure метода?

context.Response.Headers.Add("Strict-Transport-Security", "max-age=31536000");

1 Ответ

1 голос
/ 14 октября 2019

Из официальной документации по HTTP Strict Transport Security Protocol (HSTS)

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

  • localhost: Адрес обратной связи IPv4.

  • 127.0.0.1: Адрес обратной связи IPv4.

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

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

...