Ran*_*yaa 9 routing netflix-zuul
我们有2个域名指向我们的单个Zuul ELB.两个站点都使用了很多相同的服务,所以尽管我们的生产环境现在设置有点不同,但我们只有一个Zuul ELB.
我们如何根据域名将相同的路径路由到不同的服务?
我想最终得到这样的东西:
zuul:
host: http://a-zuul-host.elb.amazonaws.com:80
ignoredServices: '*'
routes:
app1:
path: /
domain: app1.com
serviceId: APP_1_SERVICE
app2:
path: /
domain: app2.com
serviceId: APP_2_SERVICE
Run Code Online (Sandbox Code Playgroud)
这甚至是可能的还是我需要设置另一个zuul实例?
小智 1
这是一种可能的解决方案:
这是示例代码:
zuul:
ignored-patterns: /health, /info
routes:
wildcard:
path: /**
url: /**
stripPrefix: false
Run Code Online (Sandbox Code Playgroud)
您必须忽略/health,因为它将与通配符路由规则匹配,并且会导致问题 - 应该映射到弹簧执行器之一,因此我们忽略它并让一切像以前一样处理。
对于域配置,这里是一个示例:
domain:
service_1:
domain-matcher: https://api_1.com:[0-9]+
url: https://service_1.com
service_2:
domain-matcher: https://api_2.com:[0-9]+
url: https://service_2.com
Run Code Online (Sandbox Code Playgroud)
现在,在您的过滤器中,只需根据匹配的域设置我们的主机即可。
| 归档时间: |
|
| 查看次数: |
1646 次 |
| 最近记录: |