Closed gaufung closed 1 day ago
在 ASP.NET Core
应用程序中,有一个中间件是 app.UseHsts()
, 那么这个中间件是做什么的呢?简单来讲就是强制客户端的请求是使用 HTTPS
协议,如果是 HTTP
协议访问,就重定向到 HTTPS
协议。主要包含以下几点内容
HTTPS
才能进一步通信includeSubdomains
指向所有的子域名preload
是浏览器永远使用 HTTPS
请求max-age
指向这个策略的最大有效期体现在响应头中是
`Strict-Transport-Security:` `max-age=63072000; includeSubDomains; preload`
在 ASP.NET Core
的代码是这样配置的
builder.Services.Configure<HstsOptions>(o =>
{
o.Preload = true;
o.MaxAge = new TimeSpan(730 /* 2 years */);
o.IncludeSubDomains = true;
});
https://khalidabuhakmeh.com/what-is-hsts-and-why-is-it-in-my-aspnet-core-app