2016-11-25 47 views
0

在Cloud Foundry中,我推送了同一应用程序的两个副本,分别为app1和app2。 我需要将app1的特定请求路由到app2。 注意:app1和app2是一样的,但只是我部署了两次不同的名称。所以/集合端点,尽管它存在于app1中,我想只通过app2应用程序来处理它。所以我创建了以下路线。Cloud Foundry map-route在路径提及时不起作用

cf map-route app2 mydomain.com --hostname app1 --path collections 
cf map-route app1 mydomain.com --hostname app1 

通过上述途径,我期望https://app1.mydomain.com/collections的请求由APP2应用程序处理。 除了/ collections端点以外,所有其他请求(https://app1.mydomain.com/ *)都预计由app1处理。

也发布上述路由器映射,我可以看到https://app1.mydomain.com/collections请求正在由app1提供服务。

但是,当我只有以下路线,期待所有的请求https://app1.mydomain.com/ *将由app2提供。这种情况下工作正常。 cf map-route app2 mydomain.com --hostname app1

所以我遇到问题只能将我的https://app1.mydomain.com/collections路由到app2应用程序。

请帮我解决这个问题。

+0

你想达到什么目的? –

回答

1

重叠路由的行为没有在文档中指定,所以我认为你遇到的问题是你的两条规则重叠,并且没有办法设置最具体的规则应该赢的优先顺序。

解决方案将是互相排斥的路线。

+0

是的,这是正确的。路线只在互相排斥时才起作用。 – shatthi