跨API终点路线名称

问题描述 投票:0回答:1

我们有以下两个端点,有各自的组织和空间

1)开发环境:a.b.c.org.cloud

2)环境的概念(POC)的证明:a.b.c.poc.io


有一个应用程序(my-cool-app)与路由名称my-cool-app.a.b.c.poc.io在POC环境中运行。

由于在此应用程序代码的气味问题,路由名称是由应用程序的源代码(硬编码),但不是通过manifest.ymlcf push决定。这导致了同样的路线名称my-cool-app.a.b.c.poc.io在开发环境my-cool-app


1)可应用程式在开发环境(my-cool-app.a.b.c.poc.io途径名称相同a.b.c.org.cloud)?因为我们看到org.cloudfoundry.client.v2.ClientV2Exception: CF-InvalidRelation(1002): The app cannot be mapped to this route because the route is not in this space. Apps must be mapped to routes in the same space.后此错误cf push

2)开发和POC环境是否有相同的云控制器的数据库(CCDB)?由于CCDB保持应用程序的名称与routename结合

cloudfoundry pivotal-cloud-foundry cloud-foundry-bosh
1个回答
1
投票

1)可应用程式在开发环境(a.b.c.org.cloud途径名称相同my-cool-app.a.b.c.poc.io)?

这取决于你所说的“开发”和“POC”环境是什么。如果他们是完全独立的基金会,然后是。它应该工作。你只需要使用DNS来控制,其中实际的流量路由。

如果他们共享同一个云控制器,就像你有一个“开发”和“POC”组织,那么它的工作原理,但是有条件限制。您可以映射到两个不同的应用程序相同的路线,但他们必须在同一个空间。这就是这个错误是说。

因为路线是不是在这个空间应用程式无法映射到这条路线。应用程序必须映射到在同一个空间的路线。

如果映射到两个不同的应用程序相同的路线,你要切实做好跨两个应用50/50拆分流量。如果云控制器是允许这种跨机构单位和空间,那么你可以有一个人在不同的组织和空间,能够从应用中疏导交通到其他应用,潜在的恶意应用程序,这将是一个很大的安全问题。鉴于此,云控制器防止被允许的。

2)开发和POC环境是否有相同的云控制器的数据库(CCDB)?由于CCDB保持应用程序的名称与routename结合

这听起来像你的环境中做的,但是这不是一个严格的要求。您可以有两个完全独立的基金会,一个用于开发,一个用于POC,不分享任何东西。

© www.soinside.com 2019 - 2024. All rights reserved.