Spring Cloud Discrovery Eureka - возвращает Localhost вместо имени хоста, на котором он расположен

Я использую Spring Cloud Eureka Server и Config Server в качестве Discovery First, и моя проблема:

Когда реестр службы находится на сервере eureka, URL-адрес сервера конфигурации, который он возвращает, имеет вид http://LOCALHOST:8888 вместе с http: // {HOST_NAME}}: 8888 и другими службами, размещенными на других серверах. найти его конфигурацию.

Строка журнала:

Получение конфигурации с сервера по адресу: http://localhost:8888

Могу ли я сделать какую-нибудь конфигурацию, чтобы это исправить?

Файл конфигурации application.yml выглядит следующим образом:

server:
  port: 8888

spring:
  application:
    name: configserver
  profiles:
    active: native
  cloud:
    config:
      server:
        native:
          searchLocations: /opt/config_dir

eureka:
  client:
    serviceUrl:
      defaultZone: http://10.111.22.33:8761/eureka,http://10.111.33.44:8761/eureka

Конфигурационный клиент bootstrap.yml выглядит так:

spring:
  application:
    name: show-service
  profiles:
    active: dev
  cloud:
    discovery:
      enabled: true

eureka:
  client:
    serviceUrl:
      defaultZone: http://10.111.22.33:8761/eureka,http://10.111.33.44:8761/eureka

person Caio Menezes    schedule 20.06.2018    source источник
comment
Не знаю, как выглядит ваша конфигурация?   -  person spencergibb    schedule 20.06.2018
comment
Я добавил конфигурацию   -  person Caio Menezes    schedule 20.06.2018
comment
Какую версию вы используете?   -  person Indraneel Bende    schedule 21.06.2018
comment
По умолчанию это localhost: 8888. Почему-то я чувствую, что это не могло быть получением URL-адресов от эврики.   -  person Indraneel Bende    schedule 21.06.2018
comment
Я использую Spring Cloud Fincley.RC2   -  person Caio Menezes    schedule 21.06.2018
comment
Можно ли разместить образец на github?   -  person Indraneel Bende    schedule 22.06.2018
comment
Кроме того, вы можете изменить порт вашего сервера конфигурации. Запустить его на порт № 8889 и посмотреть, подбирается ли localhost: 8889?   -  person Indraneel Bende    schedule 22.06.2018


Ответы (2)


По умолчанию Discovery First Bootstrap отключен. Вам не хватает нескольких свойств в клиентском приложении конфигурации - чтобы включить обнаружение для поиска URL-адреса сервера конфигурации и имени вашего сервера конфигурации (идентификатор службы).

spring:
  cloud:
    config:
      discovery:
       enabled: true
       service-id: configserver

Подробнее: https://cloud.spring.io/spring-cloud-config/multi/multi__spring_cloud_config_client.html#discovery-first-bootstrap

person nmyk    schedule 22.06.2018
comment
Большое спасибо! Я последовал старому руководству и вместо этого использовал spring.cloud.discovery.enabled=true, который не работает в более новой версии Springboot. - person John the Traveler; 21.04.2021

Я решил эту проблему, развернув свой проект
mvn deploy - надеюсь, это решит вашу проблему

person Hanz    schedule 24.04.2019