【问题标题】: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中的不同应用程序?
【发布时间】:2019-05-12 03:08:25
【问题描述】:

正如标题所示,我有一个前端应用程序和一个后端 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'...... 除了唯一的问题是我必须列出我想要映射的每个端点.不支持通配符..至少我无法让它们工作。有什么想法吗?

【问题讨论】:

    标签: routes cloud-foundry


    【解决方案1】:

    对于后端 api 中的每个端点,我将端点映射到路由“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/ 开头,然后你'd 必须在 CF 中添加单独的路由。

    不支持通配符..至少我无法让它们工作。

    正确。没有特定的通配符,但匹配基本上是“开始于”匹配。如果请求的路径以您添加到路由的路径开头,那么它将匹配。

    例如:https://www.example.com/path1 的路由匹配 https://www.example.com/path1https://www.example.com/path1/subpath 甚至 https://www.example.com/path1/sub/sub/sub/sub/path,因为它们都以 /path1 开头。

    有关详细信息,请参阅此处的“使用路径创建 HTTP 路由”。

    https://docs.cloudfoundry.org/devguide/deploy-apps/routes-domains.html#create-route

    【讨论】:

    • 是的!这行得通。我错过了 /api 末尾的“/”。所以它必须是'/api/'。先生抓得好!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-19
    • 2019-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多