netcore强制使用https,把所有的HTTP请求转换为HTTPS

使用HTTPS

根据官方文档(https://docs.microsoft.com/en-us/aspnet/core/security/enforcing-ssl?view=aspnetcore-2.1&tabs=visual-studio#require-https), 它建议ASP.NET Core web应用都应该调用HTTPS重定向中间件, 这样就可以把所有的HTTP请求转换为HTTPS.

只需要在Startup的Configure方法里调用UseHttpsRedirection()方法即可:

UseHttpsRedirection

而在ConfigureServices方法里可以配置这个中间件:

AddHttpsRedirection

HSTS (HTTP 严格的传输安全协议)

web应用通过使用特殊的响应header可以选择使用加强的安全协议OWASP(Open Web Application Security Project), HSTS(HTTP Strict Transport Security). 当所支持的浏览器接收到这个header的时候, 浏览器就会阻止任何通过HTTP到指定域名的通信, 会使用HTTPS代替. 同时它也会阻止从浏览提的提示框点击的HTTPS.

为实现这个只需要在Startup的Configure里使用:

UseHsts

一般不建议在开发环境使用Hsts, 因为浏览器极有可能会缓存HSTS 的header. 默认情况下, UseHsts会排除本地回路的地址.

UseHsts会排除下列回路宿主:

  • localhost : IPv4 回路地址.
  • 127.0.0.1 : IPv4 回路地址.
  • [::1] : IPv6 回路地址.

可以在ConfigureServices方法里对它进行配置:

addhsts

这部分具体请查看文档: https://docs.microsoft.com/en-us/aspnet/core/security/enforcing-ssl?view=aspnetcore-2.1&tabs=visual-studio#http-strict-transport-security-protocol-hsts

你可能感兴趣的:(netcore强制使用https,把所有的HTTP请求转换为HTTPS)