我在windows中有一个开发环境,在那里我可以访问我的Eureka Config Server / Client的IP地址和主机名(PC-Name)中的spring构建。当我将它移到RedHat环境中时,如果它是一个主机名,它将无法识别该URL。
我的主要目标是将eureka客户端状态页面更改为指向eureka客户端的歇斯里克流的歇斯里克斯监视器。${spring.cloud.client.hostname}的值将解析为主机名。我想知道怎样才能使它成为eureka客户端的当前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配置服务器路径和Eureka client hystrix stream使用客户机主机名。
注意,我已经将preferIPAddress设置为true,但是生成的主机名仍然是"/etc/ hostname“的值。我看到了一些在Eureka客户端实例中显式指定IP地址的解决方案。但我更喜欢将其设置为动态的,这样相同的代码就可以在开发和部署环境中顺利运行。
如何才能使主机名也能与ip地址一样被识别?
发布于 2018-05-30 09:26:54
我现在才明白答案。我刚刚把下面的代码改成了这个。
${spring.cloud.client.hostname}
↓↓↓↓↓↓↓↓↓↓↓↓
${spring.cloud.client.ip-}
我得到了一个错误的结论,因为其他站点会告诉我使用这个配置${spring.cloud.client.ipAddress},但它不起作用。
可能在Finchley / Spring boot 2.0版本中有一个变化。如果有人能给我一个描述配置更改的文档或讨论的链接,将会很有帮助。
https://stackoverflow.com/questions/50577674
复制相似问题