Asp.Net Core UseHttpsRedirection中间件与IIS URL重写规则

有机堆栈

在ASP.NET Core中,Microsoft建议使用HTTPS重定向和HSTS中间件,而不是IIS中的重写规则将所有HTTP请求重定向到HTTPS。

从DevOps的角度来看,IIS规则很容易在应用程序中实施。我们只是在部署过程中将重写部分作为Web.Config的一部分注入,从而迫使应用程序通过HTTPS进行传输。但是,由于中间件方法已成为代码本身的一部分,因此现在要由各个应用程序团队来实现重定向。

有没有办法让我们在应用程序之间实施HTTPS重定向,同时又不偏离微软的建议呢?

克里斯·普拉特

具有讽刺意味的是,推荐使用中间件方法的原因是它适用于任何部署方法,而IIS重写规则只会影响到IIS的部署。例如,如果您以后决定将一个或多个这些应用程序部署到群集中,那么您可能不再适用的任何IIS重写规则都将不再适用。在应用程序级别上设置它会强制该应用程序的状态,而不是一种特定的部署方法。另外,请记住,并非所有内容都一定是HTTPS。例如,当部署到k8s集群中时,通常会关闭此功能,因为您将在网关上使用SSL终止。

没有真正的方法来强制执行此中间件,您也不应该考虑上述实际情况,而实际上不应出现上述情况。与往常一样,独立审核始终是您最好的选择。当新应用投入生产时,应评估是否应实施SSL,并应在该阶段强制实施。

另外,FWIW,也不必是或。您可以同时使用中间和IIS重写。在这种情况下,由于IIS重写,中间件将永远无法有效利用,因为所有请求都将始终为HTTPS,但是由于某种原因,如果缺少该中间件,则中间件仍会作为备用。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

URL重写中间件ASP.Net Core 2.0

ASP.Net MVC:如何通过ASP.NET Core中的中间件重写URL

ASP.NET Core 2 Url重写中间件,以从.xxx重定向到.yyy扩展名

ASP.NET Core 2充当反向代理用户重写中间件

ASP.Net Core MVC中间件-从辅助文件请求获取目标URL

asp.net core mvc中间件简单案例

ASP.NET Core压缩中间件-空响应

无法在ASP.NET Core中使用中间件

ASP .NET Core 中间件中的异步进度?

ASP.NET Core Api-Gateway中间件

ASP.NET Core中间件还是OWIN中间件?

为什么在正则表达式之后,asp.net core的URL Rewrite中间件不匹配?

如何使用自定义异常中间件捕获ASP.NET Core(3.1)URL解析错误?

ASP.NET Core URL重写

ASP.NET Core-如何通过中间件知道反序列化失败

使用ASP.Net Core中间件启动后台任务

asp.net-core - 使用中间件设置响应的虚拟路径

ASP.NET Core Facebook身份验证中间件用户图片

如何编写中间件以测量ASP.NET Core 2.0中的请求处理时间

C# 和 ASP.NET Core:多个中间件(REST + SOAP)

静态文件中间件应在ASP.NET Core管道中的什么位置?

无法在ASP.NET Core 2.1的中间件中写入HttpContext的响应主体

Asp.net Core:中间件到控制器的转换问题?

ASP.NET Core 3.0端点路由和自定义中间件

将响应标头添加到ASP.NET Core中间件

如何获得ASP.NET Core中已注册中间件的列表?

ASP.NET Core 6 异常中间件和验证

在ASP.NET Core中创建具有依赖项的中间件功能

ASP.NET Core 2.0中间件-访问配置设置