HSTS не устанавливается - PullRequest
       0

HSTS не устанавливается

0 голосов
/ 02 апреля 2020

Я пытаюсь установить заголовок Http Strict-Transport-Security, используя Asp. Net Core 3. Я получил его, чтобы он прекрасно работал в среде разработки, кто бы ни был при публикации в Heroku (используя https://elements.heroku.com/buildpacks/jincod/dotnetcore-buildpack) заголовок никогда не появляется (ни на одной странице, через http и https).

            if (env.IsDevelopment()) {
                app.UseDeveloperExceptionPage();
                app.UseDatabaseErrorPage();
                app.UseBrowserLink();
                app.UseHsts(hsts => hsts.IncludeSubdomains().MaxAge(hours: 1));
            } else {
                app.UseExceptionHandler("/About/Error");
                // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
                app.UseHsts(hsts => hsts.IncludeSubdomains().MaxAge(days: 366));
            }

Любая помощь очень ценится!

То, что я пробовал

Я попытался использовать встроенный метод UseHSTS в Configure и добавить AddHSTS в ConfigureServices. Чем я пытался использовать UseHSTS пакета NWebse c (в Configure) с теми же параметрами, но безуспешно.

1 Ответ

0 голосов
/ 14 апреля 2020

Вот пример конфигурации для https https://github.com/jincod/AspNetCoreDemoApp/blob/master/src/AspNetCoreDemoApp/Startup.cs

ConfigureServices:

services.AddHttpsRedirection(options => { options.HttpsPort = 443; })
...
services.Configure<ForwardedHeadersOptions>(options =>
{
    options.ForwardedHeaders = ForwardedHeaders.XForwardedFor |
                                ForwardedHeaders.XForwardedProto;
    options.KnownNetworks.Clear();
    options.KnownProxies.Clear();
});

Configure:

app.UseForwardedHeaders();
...
app.UseHttpsRedirection();

Дополнительная информация https://devcenter.heroku.com/articles/http-routing#routing и https://github.com/aspnet/Announcements/issues/301

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