Spring Cloud Discoveryy Eureka - ส่งคืน Localhost แทนชื่อโฮสต์ที่ตั้งอยู่

ฉันใช้ Spring Cloud Eureka Server และ Config Server เป็น Discovery First และปัญหาของฉันคือ:

เมื่อบริการลงทะเบียนด้วยตนเองในเซิร์ฟเวอร์ยูเรก้า Config Server 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

ไคลเอนต์ config 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

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 Finley.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 ปรับใช้
หวังว่านี่จะช่วยแก้ปัญหาของคุณได้

person Hanz    schedule 24.04.2019