Eureka - Не могу получить ответ - Не могу связаться ни с одним узлом eureka
У меня есть сервер Eureka, работающий через порт 8761 (localhost:8761/eureka), и у меня есть приложение Zuul, которое я хотел бы зарегистрировать в eureka, но я продолжаю получать ту же ошибку:
Can't get a response from http://localhost:8761/eurekaapps/ZUULSERVER
Can't contact any eureka nodes - possibly a security group issue?
java.lang.RuntimeException: Bad status: 404
at com.netflix.discovery.DiscoveryClient.makeRemoteCall(DiscoveryClient.java:1155)
at com.netflix.discovery.DiscoveryClient.makeRemoteCall(DiscoveryClient.java:1060)
at com.netflix.discovery.DiscoveryClient.register(DiscoveryClient.java:606)
at com.netflix.discovery.DiscoveryClient$HeartbeatThread.run(DiscoveryClient.java:1596)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Вот мой application.yml для приложения zuul:
info:
component: Zuul Server
eureka:
server:
enabled: true
client:
serviceUrl:
defaultZone: http://localhost:8761/eureka
registerWithEureka: true
fetchRegistry: false
endpoints:
restart:
enabled: true
shutdown:
enabled: true
health:
sensitive: false
zuul:
route:
discovery:
url: http://localhost:9000/polaris/discovery
path: /polaris/discovery/**
sla:
url: http://localhost:9000/polaris/sla
path: /polaris/sla/**
stores: /stores/**
customers: /customers/**
#remove when spring-boot 1.2.1 is out
security:
basic:
enabled: false
management:
security:
enabled:
false
server:
port: 8765
logging:
level:
ROOT: INFO
org.springframework.web: DEBUG
Я только что испортил одно из этих значений, и поэтому zuul не может видеть сервер eureka? Кажется, что он не регистрируется должным образом. Может быть, я пропустил важный параметр в файле application.yml?
1 ответ
Решение
Подсказка "eurekaapps" в ошибке. Вам нужен конечный символ "/" в URL службы:
eureka:
client:
serviceUrl:
defaultZone: http://localhost:8761/eureka/
(который по умолчанию в любом случае я думаю).