我有两项使用Netflix eureka构建的微服务。他们用假冒伪劣的客户进行交流。在我的本地环境中,冒充客户端工作没有任何问题。但是在Predix (一个云铸造厂)环境中,他们无法进行通信。假装客户端总是给出连接超时错误。正如所发现的,假冒伪劣客户端尝试使用实例ip地址连接(我认为冒充客户端使用内部ip地址)。是否有解决此问题的方法,可能是启用容器通信或使用公共uri。
编辑:我通过更改主机名获得了公共url,如下所示。
eureka:
instance:
hostname: ${vcap.application.uris[0]}但是在eureka服务器中,它注册为${vcap.application.uris}:random port有一种方法可以删除这个随机端口。
发布于 2018-03-28 15:52:19
目前无法为运行在中的应用程序分配特定端口。CF分配一个随机端口,正如您已经发现的那样,但是这只在CF环境中使用。任何其他微服务/客户机/应用程序都应该只对HTTPS使用端口443。所以,如果可能的话,也许你可以用443硬编码你的尤里卡客户端。
发布于 2018-05-02 04:38:35
我们已经使用以下配置解决了冒充客户端问题,
eureka:
client:
serviceUrl:
defaultZone: https://someeurekaserver/eureka/
registerWithEureka: true
fetchRegistry: false
healthcheck:
enabled: true
instance:
hostname: ${vcap.application.application_uris[0]}
instanceId: ${spring.application.name}:${random.int}
secure-port: 443
non-secure-port: 443
secure-port-enabled: true
non-secure-port-enabled: false
preferIpAddress: false
leaseRenewalIntervalInSeconds: 10
home-page-url: https://${eureka.instance.hostname}:${eureka.instance.secure-port}
secure-virtual-host-name: https://${vcap.application.application_uris[0]}重要性配置为secure-virtual-host-name: https://${vcap.application.application_uris[0]}
https://stackoverflow.com/questions/49364748
复制相似问题