spring-boot - Linux:无法识别 Spring Cloud Web 应用程序的主机名
问题描述
我在 Windows 中有一个开发环境,我可以在其中访问我的 Eureka Config Server/Client 的 IP 地址和主机名(PC-Name)中的 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.cloud.client.hostname}
↓↓↓↓↓↓↓↓↓↓↓↓
${spring.cloud.client.ip-address}
我得出了一个错误的结论,因为其他网站会告诉我使用这个不起作用的配置${spring.cloud.client.ipAddress}。
Finchley / Spring boot 2.0 版本可能发生了变化。如果有人可以给我一个链接到描述配置更改的文档或讨论,那将会很有帮助。
推荐阅读
- azure - 如何访问通过 Azure 自动化机器学习中的自动特征化步骤转换的数据集
- visual-studio-code - 发布 vscode 扩展时遇到错误
- outlook - 在 Outlook 中有没有办法只显示发件人的电子邮件地址而不是 Outlook 客户端旁边的名称?
- javascript - 获取类的 .attr() 并将其保存在 var 中
- android - Android离线安装com.android.tools.build:builder:3.3.0
- python - 不和谐附件链接
- python - 如何使用 python 创建 XML、XSL 文件
- excel - 统计打开文件的历史视图
- python - 更新同一图中绘制的网络图并根据节点度更改节点颜色
- c# - PIC18 UART 从 PC 接收损坏的字节