gpt4 book ai didi

cloud-foundry - CloudFoundry 应用程序开放两个端口

转载 作者:行者123 更新时间:2023-12-04 17:46:41 25 4
gpt4 key购买 nike

我有一个打开两个端口的 CF 应用程序。 AFAIK CF 只能为其中之一创建路由 - 到位于 VCAP_APP_PORT 中的路由。或 PORT .如何创建通往第二个端口的路由?我不介意将单独的名称指向其他端口。

最佳答案

正如其他一些评论中所述,现在可以在 CF 中为您的应用程序使用多个端口。有一个chapter在描述如何执行此操作的 CF 文档中。
我按照说明操作,但仍然无法完全理解它,这就是为什么我在此处提供分步指南和一些解释(将 [] 中的所有变量替换为实际值):

  • 配置您的应用程序以监听多个端口。在我的例子中,我配置了一个 spring boot 应用程序来监听 8080 端口的 HTTPS 请求和 8081 端口上的 HTTP 请求(用于调用执行器端点,如健康/普罗米修斯,如 here 所述)。这意味着我在 CF 中配置了一个 TCP 路由和一个 HTTP 路由,并将这些路由映射到 CF 应用程序。
  • 获取应可在多个端口上访问的 CF 应用程序的 [APP_GUID]:cf app [APP_NAME] --guid
  • 将端口(例如 8080、8081)添加到 CF 应用程序:cf curl /v2/apps/[APP_GUID] -X PUT -d '{"ports": [8080, 8081]}'
  • 现在还必须调整指向 CF 应用程序的路由(例如,在这种情况下是 HTTP 路由),以便它指向正确的 CF 应用程序端口。首先你需要获取路线信息,你可以用cf curl /v2/routes?q=host:[HOST_NAME]或与 cf curl /v2/apps/[APP_GUID]/routes并保存指向您的应用程序的路线的 guid ([ROUTE_GUID])。
  • 对于这条特定路线,您必须调整路线映射。每个 CF 路由可以有多个路由映射。您可以使用以下命令显示路由的当前路由映射:cf curl /v2/routes/[ROUTE_GUID]/route_mappings .与 cf curl /v2/route_mappings -X POST -d '{"app_guid": "[APP_GUID]", "route_guid": "[ROUTE_GUID]", "app_port": 8081}'您将映射添加到路由(例如,此处为 8081)。
  • 该路由现在有两个映射,一个指向 8080,一个指向 8081。如果您希望路由仅指向其中一个端口(例如 8081),则必须删除与您不想拥有的端口的映射。运行 cf curl /v2/routes/[ROUTE_GUID]/route_mappings显示所有路由映射。然后提取应该删除的路由映射的 guid(例如到端口 8080 的那个)。最后,运行 cf curl /v2/route_mappings/[GUID_ROUTE_MAPPING] -X DELETE删除不需要的路由映射。

  • 现在,当使用新配置的路由时,您的 CF 应用程序应该可以在 8080 以外的另一个端口上访问。

    关于cloud-foundry - CloudFoundry 应用程序开放两个端口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32073627/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com