【发布时间】:2018-11-07 17:09:05
【问题描述】:
我在 Windows 中有一个开发环境,我可以在其中访问我的 Eureka 配置服务器/客户端的 IP 地址和主机名(PC 名称)中的 spring 构建。当我将它移动到 RedHat 环境时,如果它是主机名,它就无法识别 URL。
我的主要目标是将尤里卡客户端状态页面更改为指向尤里卡客户端的 hysterix 流的 hysterix 监视器。 ${spring.cloud.client.hostname} 的值解析为主机名。我想知道有什么办法让它成为尤里卡客户端的当前IP?
确切地说,这里是我想要做的一个例子。
eureka:
instance:
preferIPAddress: true
statusPageUrlPath: http://${spring.cloud.client.hostname}:${eureka.cloud.config.port}/hystrix/monitor?stream=http%3A%2F%2F${spring.cloud.client.hostname}%3A${server.port}%2Factuator%2Fhystrix.stream
碰巧客户端和服务器都在同一台机器上,所以我很满意将客户端主机名用于 Eureka Config Server 路径和 Eureka Client hystrix流。
请注意,我已经将 preferIPAddress 设置为 true,但生成的主机名仍然是“/etc/hostname”的值。我看到了一些在 Eureka 客户端实例中明确指定 IP 地址的解决方案。但我更喜欢让它动态化,以便相同的代码可以在开发和部署环境中顺利运行。
我该怎么做才能让主机名和ip地址一样被识别?
【问题讨论】:
标签: spring-boot spring-cloud hostname hystrix