0
点赞
收藏
分享

微信扫一扫

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​​

举报

相关推荐

0 条评论