是否可以将所有请求映射到特定路径下的路由,即“/api/**”到 pcf 中的不同应用程序?
is it possible to map all requests to a route under a certain path i.e '/api/**' to a different app in pcf?
如标题所示,我有一个前端应用程序和一个后端应用程序 api。每个在自己的容器中的 pcf 中都有自己的清单 运行。他们是同源的。我想将所有 api 请求路由到后端 api,并将所有其他请求路由到前端应用程序。这目前可以通过 pcf cli 或应用程序管理器中的 map-route cmd 实现。对于后端 api 中的每个端点,我将端点映射到路由 'api/path1'、'api/path2'、'api/path3'、'api/path4'、'api/path5' , api/path6', 'api/path7', 'api/path8', 'api/path9'................ 除了唯一的问题是我必须列出我想要映射的每个端点。不支持通配符……至少我无法让它们工作。有什么想法吗?
For every endpoint I have in my backend api, I map the endpoint to a route 'api/path1', 'api/path2', 'api/path3', 'api/path4', 'api/path5', api/path6', 'api/path7', 'api/path8', 'api/path9'
如果 /api/
下的所有内容都转到您的后端应用程序,则没有必要像这样映射各个路径。将 /api/
映射到您的后端应用程序就足够了,每个以 /api/
开头的请求都将转到您的后端应用程序。
关键是 /api/
下的所有内容 都转到后端应用程序。如果你想让 /api/v1
、/api/v2
、/api/v3
和 /api/v4
转到后端,/api/something_else
转到另一个应用程序,那么它会更复杂,因为它们都以 /api/
开头,然后您必须在 CF 中添加单独的路由。
Wildcards are not supported..at least I haven't been able to get them to work.
正确。没有特定的通配符,但匹配基本上是 "starts with" 匹配。如果请求的路径以您添加到路由的路径开头,那么它将匹配。
例如:https://www.example.com/path1
的路由匹配 https://www.example.com/path1
、https://www.example.com/path1/subpath
甚至 https://www.example.com/path1/sub/sub/sub/sub/path
,因为它们都以 /path1
.
开头
有关详细信息,请参阅此处 "Create an HTTP Route with a Path"。
https://docs.cloudfoundry.org/devguide/deploy-apps/routes-domains.html#create-route
如标题所示,我有一个前端应用程序和一个后端应用程序 api。每个在自己的容器中的 pcf 中都有自己的清单 运行。他们是同源的。我想将所有 api 请求路由到后端 api,并将所有其他请求路由到前端应用程序。这目前可以通过 pcf cli 或应用程序管理器中的 map-route cmd 实现。对于后端 api 中的每个端点,我将端点映射到路由 'api/path1'、'api/path2'、'api/path3'、'api/path4'、'api/path5' , api/path6', 'api/path7', 'api/path8', 'api/path9'................ 除了唯一的问题是我必须列出我想要映射的每个端点。不支持通配符……至少我无法让它们工作。有什么想法吗?
For every endpoint I have in my backend api, I map the endpoint to a route 'api/path1', 'api/path2', 'api/path3', 'api/path4', 'api/path5', api/path6', 'api/path7', 'api/path8', 'api/path9'
如果 /api/
下的所有内容都转到您的后端应用程序,则没有必要像这样映射各个路径。将 /api/
映射到您的后端应用程序就足够了,每个以 /api/
开头的请求都将转到您的后端应用程序。
关键是 /api/
下的所有内容 都转到后端应用程序。如果你想让 /api/v1
、/api/v2
、/api/v3
和 /api/v4
转到后端,/api/something_else
转到另一个应用程序,那么它会更复杂,因为它们都以 /api/
开头,然后您必须在 CF 中添加单独的路由。
Wildcards are not supported..at least I haven't been able to get them to work.
正确。没有特定的通配符,但匹配基本上是 "starts with" 匹配。如果请求的路径以您添加到路由的路径开头,那么它将匹配。
例如:https://www.example.com/path1
的路由匹配 https://www.example.com/path1
、https://www.example.com/path1/subpath
甚至 https://www.example.com/path1/sub/sub/sub/sub/path
,因为它们都以 /path1
.
有关详细信息,请参阅此处 "Create an HTTP Route with a Path"。
https://docs.cloudfoundry.org/devguide/deploy-apps/routes-domains.html#create-route