netcore强制使用https,把所有的HTTP请求转换为HT
2019-03-15 本文已影响4人
菜鸟飞不动
使用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方法里可以配置这个中间件:
AddHttpsRedirectionHSTS (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