我正在与Eureka Netflix合作,我有一点问题。 当应用程序在eureka上自行注册时,它会像DESKTOP一样注册....
我希望像http://IP:PORT
这是我的服务器属性:
server.port=8761
eureka.client.register-with-eureka=false
eureka.client.fetch-registry=false
eureka.instance.preferIpAddress=true
logging.level.com.netflix.eureka=OFF
logging.level.com.netflix.discovery=OFF
这是客户:
spring:
application:
name: Test 2
server:
port: 0
eureka:
client:
serviceUrl:
defaultZone: ${EUREKA_URI:http://localhost:8761/eureka}
instance:
preferIpAddress: true
所以我认为这是一些配置问题,但我不知道是什么。
答案 0 :(得分:3)
状态列中显示的文本是instance-id。
在客户端中使用以下配置:
$ git branch -a
* (HEAD detached from f417982)
master
remotes/origin/HEAD -> origin/master
remotes/origin/master
您可以强制eureka仪表板在此栏中显示IP地址。
属性eureka.instance.preferIpAddress=true
eureka.instance.instance-id=
只是您询问此实例的地址时返回的地址。因此,如果您未将eureka.instance.preferIpAddress
设置为null,则instance-id仍包含主机名,但您获取此实例的链接基于ip而不是主机名。
希望这有帮助
答案 1 :(得分:3)
我找到了一个更好的解决方案。 我改变了这样的属性文件:
eureka config
eureka.name=eureka
eureka.port=8761
eureka.preferSameZone=false
eureka.shouldUseDns=false
eureka.serviceUrl.default=http://localhost:8761/eureka/v2/
eureka.shouldOnDemandUpdateStatusChange=true
eureka.instance.leaseRenewalIntervalInSeconds=1
eureka.instance.leaseExpirationDurationInSeconds=2
# set application host
server.address=1.1.1.1
#set application port
server.port=8080
#set application name
spring.application.name=application
#configuration to set the ip of host instead of the default localhost
eureka.instance.prefer-ip-address=true
eureka.instance.ip-address=${server.address}
eureka.instance.instance-id=${server.address}:${server.port}
现在最终它会在eureka上显示
1.1.1.1:8080
答案 2 :(得分:0)
我面临着不同的问题。我的笔记本电脑已连接到我的办公室VPN网络,并且当我启动eureka服务器,配置,2个客户端服务,本地环境中的1个spring cloud网关时,均已通过IP:PORT向Eureka注册。
类似于192.168.225.153:config-service:8081
使用此配置,我的spring cloud网关无法连接到192.168.225.153 IP上的下游服务(其他2个客户端服务)。
我关闭了wifi并退出了互联网。重新启动所有服务。这次都用域名注册了
示例::config-service:8081
在这种情况下,网关能够找到并连接下游服务。
有人知道为什么当我连接到办公室VPN时服务不在网关中吗?