在Predix中假设客户端通信(Cloud Foundry)

Kea*_*eaz 7 service-discovery cloud-foundry netflix-feign netflix-eureka predix

我有2个使用Netflix eureka构建的微服务.他们使用假装客户进行沟通.在我的本地环境中假装客户端工作没有任何问题.但是在Predix(云代工厂)环境中,他们无法沟通.假设客户端总是给出连接超时错误.由于发现feign客户端尝试使用实例ip地址连接(我认为feign客户端使用内部ip地址).有没有办法解决这个问题,可能是启用容器通信或使用公共uri

编辑:我设法通过更改主机名如下所示获取公共网址.

eureka:
 instance:
  hostname: ${vcap.application.uris[0]}
Run Code Online (Sandbox Code Playgroud)

但在eureka服务器中它注册为$ {vcap.application.uris [0]}:[随机端口](如xxxxxx.run.aws-usw02-pr.ice.predix.io:61142/yyy)有没有办法删除该随机端口.

gst*_*oup 0

目前无法将特定端口分配给 Predix Cloud Foundry 中运行的应用程序。正如您所发现的,CF 分配一个随机端口,但这仅在 CF 环境内使用。任何其他微服务/客户端/应用程序应仅使用端口 443 用于 HTTPS。因此,如果可能的话,也许您可​​以对 Eureka 客户端进行硬编码以使用 443。