Настроить Eureka Server и клиента с пользовательским портом и адресом - PullRequest
0 голосов
/ 01 сентября 2018

У меня Eureka Server, работающий на хосте по умолчанию localhost и порту 8761, поэтому я попытался изменить эту конфигурацию по умолчанию следующим образом:

server:
  port: 6000
  servlet:
    context-path: /myeureka
eureka:
  client:
    register-with-eureka: false
    fetch-registry: false

Но, таким образом, я не могу получить доступ к панели инструментов eureka, просто использую конфигурацию по умолчанию:

server:
  port: 8761
eureka:
  client:
    register-with-eureka: false
    fetch-registry: false

В моем клиенте происходит то же самое, я не могу указать на другой сервер eureka, отличный от сервера по умолчанию (localhost: 8761), см. Мою конфигурацию:

server:
  port: 7000
  servlet:
    context-path: /client-eureka
spring:
  application:
    name: client-eureka
eureka:
  instance:
    prefer-ip-address: true
  client:
    eureka-server-port: 6000
    eureka-server-u-r-l-context: /myeureka

Заглянув в журнал клиента, я получил следующее:

2018-09-01 09:19:37.175  INFO 4931 --- [           main] c.n.eureka.cluster.PeerEurekaNodes       : Replica node URL:  http://localhost:8761/eureka/

Независимо от того, какой порт или хост я настраиваю в клиенте, всегда пытайтесь достичь значения по умолчанию.

Важно : Я использую Эврика в этой версии: https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-starter-netflix-eureka-server/2.0.1.RELEASE

1 Ответ

0 голосов
/ 01 сентября 2018

Я использовал ту же версию зависимости, что и у вас, и не могу найти путь конфигурации server.servlet.contextpath

Вместо этого вы можете использовать server.servlet-path или server.context-path

Для каждой конфигурации сервера вам также необходимо обновить файл client.yml клиента. Помните, что / eureka является конечной точкой REST по умолчанию, используемой для регистрации клиента Eureka на сервере Eureka

Случай 1: использовать server.servlet-path

Сервер Eureka:

server:
 port: 7000
 servlet-path: /myeureka

eureka:
 client:
   register-with-eureka: false
   fetch-registry: false

Eureka Клиент:

spring:
  application:
    name: spring-cloud-eureka-client
server:
  port: 0
eureka:
 client:
   service-url:
     defaultZone: ${EUREKA_URI:http://localhost:7000/eureka}
 instance:
     preferIpAddress: true

Случай 2: использовать server.context-path

Eureka Сервер:

server:
 port: 7000
 context-path: /myeureka

eureka:
 client:
   register-with-eureka: false
   fetch-registry: false

Eureka Клиент:

spring:
  application:
    name: spring-cloud-eureka-client
server:
  port: 0
eureka:
 client:
   service-url:
     defaultZone: ${EUREKA_URI:http://localhost:7000/myeureka/eureka}
 instance:
     preferIpAddress: true

Обновленный ответ: Поскольку server.servlet-path и server.context-path устарели, сервер eureka будет настроен следующим образом:

server:
 port: 7000
 servlet:
   context-path: /myeureka

eureka:
 client:
   register-with-eureka: false
   fetch-registry: false

Eureka client application.yml будет сохранен, как в случае 2.

...