Eureka 服务总是使用主机名注册实例,即使我输入 "prefer-ip-address: true"

Eureka service always registers instances with host name even though i put "prefer-ip-address: true"

我想用 IP 地址而不是主机名在 Eureka 中注册我的微服务。

我已经尝试了 prefer-ip-addresseureka.instance.preferIpAddress=true 属性。 None 对我有用。

这是我的 eureka 服务应用程序 .yml 文件。

这是我的授权服务器微服务application.yml

但 eureka 控制台仍然显示我使用主机名 (localhost) 而不是 IP 地址注册的服务

我正在使用 Spring 引导 2.2.2 版本和 Spring 云 Hoxton.RELEASE。我猜属性不能正常工作。

有人遇到同样的问题吗?

好吧,我在移动设备上,所以看不清楚所有内容,但似乎有问题在声明中

正确的语法是

 eureka.instance.preferIpAddress

而您正在使用

 eureka.instance.prefer-Ip-Address

查看文档:https://github.com/spring-cloud/spring-cloud-netflix/blob/a7398842078319dcaa353a708c12bb7b9fa85a4e/docs/src/main/asciidoc/spring-cloud-netflix.adoc#prefer-ip-address

eureka.instance.preferIpAddress=true 将使实例使用 IP 地址注册到 Eureka 服务器。您无需在任何配置中提供 IP 地址,因为应用程序会自动从系统中获取该地址。

在最坏的情况下,您可以定义特定的 IP 地址。

如果您设置 eureka.instance.hostname 或 eureka.instance.ipAddress,它们将始终在 EurekaInstanceConfigBean 中使用,因此如果它们在注册时没有进入服务器,我们需要查看它是如何实现的用于构建 InstanceInfo。

最后我想出了在哪里可以看到 preferIpAddress 属性 变化。将鼠标悬停在实例上。然后在左下角可以看到IP。

申请前属性preferIpAddress = true

申请后属性preferIpAddress = true