我正在AWS Fargate上托管一套Asp.Net Core 2.0应用程序,这是一个单独的ELB负载均衡器,它有多个角色可以路由到不同的微服务,以便隐藏客户端的微服务复杂性。
我有3条规则如下:
/auth* -> AuthMicroservice
/reports* -> BI Microservice
default -> Web Client
规则似乎有效,但我在两个微服务上都得到了404
。我怀疑是因为ELB不会从路径中删除/auth
和/reports
段,因为未知前缀会导致Asp.Net路由失败。
我正在考虑解决这个问题的两种方法:
让OWIN中间件(仅限生产中)丢弃所有请求的第一个路径段,以补偿ELB路径匹配
让ELB从发送到实际应用的路径中删除匹配的任何内容
我更倾向于第二种选择,只是因为它使开发和生产环境更加相似。
有人知道如何让ELB删除匹配的路径段吗?
Asp.Net是否提供预先制作的功能来丢弃没有OWIN中间件的路径段?