提问人:cj- 提问时间:4/2/2020 更新时间:4/14/2020 访问量:1192
未设置 HSTS
HSTS not being set
问:
我正在尝试使用 Asp.Net Core 3 设置 Http Strict-Transport-Security 标头。我让它在开发环境中运行良好,无论谁在发布到 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 方法并将 AddHSTS 添加到 ConfigureServices。然后我尝试使用NWebsec包的UseHSTS(在配置中)和相同的选项,但没有成功。
答:
-1赞
jincod
4/14/2020
#1
以下是 https https://github.com/jincod/AspNetCoreDemoApp/blob/master/src/AspNetCoreDemoApp/Startup.cs 的示例配置
配置服务:
services.AddHttpsRedirection(options => { options.HttpsPort = 443; })
...
services.Configure<ForwardedHeadersOptions>(options =>
{
options.ForwardedHeaders = ForwardedHeaders.XForwardedFor |
ForwardedHeaders.XForwardedProto;
options.KnownNetworks.Clear();
options.KnownProxies.Clear();
});
配置:
app.UseForwardedHeaders();
...
app.UseHttpsRedirection();
更多信息 https://devcenter.heroku.com/articles/http-routing#routing 和 https://github.com/aspnet/Announcements/issues/301
下一个:git 不返回标签
评论