【发布时间】:2021-10-13 14:58:52
【问题描述】:
我们正在运行一个 .net 5 网络应用程序。
我们在启动时在我们的应用程序Configure() 中同时使用UseStaticFiles 和UseHsts。
我可以访问我的静态文件。
我所有的 API/动态 Web 端点都有 HSTS 标头。
我的静态文件没有 HSTS 标头。
我们在 SPA 应用程序中使用了一些静态 HTML 文件,并且我们运行的笔测试在扫描时会触发它的漏洞。
如何配置我的静态文件以使用 HSTS 标头。
// Simplified example
public void Configure(
IApplicationBuilder app,
IHostApplicationLifetime appLifetime
)
{
app.UseStaticFiles();
app.UseHsts();
app.UseRouting();
app.UseCors();
app.UseAuthentication();
app.UseEndpoints(endpoints => {
endpoints.MapControllers();
endpoints.MapHealthChecks("/healthcheck");
});
}
基于@gjhommersom awnser 的更新
像这样配置应用程序,而不是将 cors 添加到标题中。
但是仍然缺少严格的传输安全标头:(
// Simplified example
public void Configure(
IApplicationBuilder app,
IHostApplicationLifetime appLifetime
)
{
app.UseHsts();
app.UseRouting();
app.UseCors();
app.UseAuthentication();
app.UseEndpoints(endpoints => {
endpoints.MapControllers();
endpoints.MapHealthChecks("/healthcheck");
});
app.UseStaticFiles();
}
【问题讨论】:
-
在
app.UseHsts();后面加app.UseHttpsRedirection();?我发现this high-vote answer 说使用hsts 使http 请求自动切换到https。所以我认为您需要添加该代码行。
标签: c# .net asp.net-core .net-5 hsts