首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >未设置HSTS

未设置HSTS
EN

Stack Overflow用户
提问于 2020-04-02 09:53:22
回答 1查看 380关注 0票数 1

我正在尝试使用HerokuCore3设置一个Http Strict-Transport-Security报头。我在一个开发环境中运行得很好,无论是谁发布到Asp.Net (使用https://elements.heroku.com/buildpacks/jincod/dotnetcore-buildpack)时,报头都不会出现(在任何页面上,通过http和https)。

代码语言:javascript
复制
            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));
            }

任何帮助都是非常感谢的!

我尝试过的

我尝试在Configure中使用内置的UseHSTS方法,并将AddHSTS添加到ConfigureServices中。然后我尝试使用NWebsec包的UseHSTS (在Configure中),并使用相同的选项,但没有成功。

EN

回答 1

Stack Overflow用户

发布于 2020-04-14 18:04:17

下面是https https://github.com/jincod/AspNetCoreDemoApp/blob/master/src/AspNetCoreDemoApp/Startup.cs的配置示例

ConfigureServices:

代码语言:javascript
复制
services.AddHttpsRedirection(options => { options.HttpsPort = 443; })
...
services.Configure<ForwardedHeadersOptions>(options =>
{
    options.ForwardedHeaders = ForwardedHeaders.XForwardedFor |
                                ForwardedHeaders.XForwardedProto;
    options.KnownNetworks.Clear();
    options.KnownProxies.Clear();
});

配置:

代码语言:javascript
复制
app.UseForwardedHeaders();
...
app.UseHttpsRedirection();

更多信息https://devcenter.heroku.com/articles/http-routing#routinghttps://github.com/aspnet/Announcements/issues/301

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60983085

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档