Linux:无法识别Spring Cloud Web应用程序的主机名

问题描述 投票:0回答:1

我在Windows中有一个开发环境,我可以在我的Eureka配置服务器/客户端的IP地址和主机名(PC名称)中访问spring构建。当我将它移动到RedHat环境时,如果它是主机名,它将无法识别URL。

我的主要目标是将eureka客户端状态页面更改为指向eureka客户端的hysterix流的hysterix监视器。 $ {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 Config Server路径和Eureka Client hystrix流的客户端主机名。

请注意,我已将preferIPAddress设置为true,但生成的主机名仍为“/ etc / hostname”的值。我看到了一些明确指定Eureka客户端实例中的IP地址的解决方案。但我更喜欢将其设置为动态,以便相同的代码可以在开发和部署环境中平稳运行。

我能做些什么,以便主机名也可以被识别为与ip地址相同?

spring-boot spring-cloud hostname hystrix
1个回答
0
投票

刚才答案就在我身上。我只是改变了以下内容。

$ {} spring.cloud.client.hostname

    ↓↓↓↓↓↓↓↓↓↓↓↓

$ {spring.cloud.client.ip地址}

我被抛到了一个错误的结论,因为其他网站会告诉我使用这个配置$ {spring.cloud.client.ipAddress}不起作用。

可能是Finchley / Spring boot 2.0版本发生了变化。如果有人可以给我一个描述配置更改的文档或讨论的链接,那将会很有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.