我正在研究在ASP.NET Core 2应用程序上实现(和实施)HTTPS,我看到了Enforcing HTTPS in an ASP.NET Core app,但它让我感到困惑。它提到了两种方法:使用RequireHttpsAttribute
或使用URL重写,但在页面开头的警告中,他们提到不要使用RequireHttpsAttribute
,因为它正在进行重定向,但是是不是URL重写也在做什么?那么,我们是否能够将它们中的任何一个用于Web API,即使它们收到敏感信息" (如文档页面中的警告所述)。
另外,我听说过HSTS,并且我做了一些研究,但在我看来,在ASP.NET Core中它的标准实现并不存在。我偶然发现了一些NuGet套餐,但是我找不到更多的官员和#34;提供商。
你能帮我理解一下吗?
答案 0 :(得分:3)
您的困惑可能在于本文的目标是关于非WebAPI应用程序。因此警告 - 不适用于WebAPI。不要使用WebAPI的任何一种方法。
用户(通过在浏览器中输入网址)应重定向到 HTTPS 强>://示例.com。这可以使用两种方法之一来完成。
用户不能承受技术安全细节。但是,开发人员应该完全了解并且可以直接连接到https,而不需要重定向。
考虑到您对HSTS“官方”支持的第二次评论,请查看asp.net核心文档中的this sample。公平地说,this仅在几个月前(作为2.1 milestone的一部分)在撰写本文时提交,而不是很多文档。