Linux 호스트에 Eureka 고 가용성 솔루션을 배포 할 때 서비스 센터에 등록 된 서비스 IP가 무작위임을 알았습니다. 호스트에 여러 개의 네트워크 카드가 있기 때문에 임의의 IP는 내가 원하는 것이 아닙니다. 온라인으로 정보를 검색하고 다음과 같이 요약했습니다.
1 네트워크 카드를 무시하십시오 : spring.cloud.inetutils.ignored-interfaces
#Inignore Eth0, 정규 표현식 spring.cloud.inetutils.
2 IP를 지정하십시오 : spring.cloud.inetutils.preferred-networks
#preferred-networks는 사용되는 경향이있는 IP 주소를 나타냅니다. 스프링 클라우드 애플리케이션에서 사용하는 기본 시스템의 IP 주소를 선택하기 위해 정규식 배열을 수신합니다. spring.cloud.inetutils.preferrednetworks [0] =^192/.168
3 호스트 파일을 수정하십시오
네트워크 검색 트래버스 로직이 적절한 IP를 찾지 못하면 JDK의 inetAddress.getLocalHost ()로 이동합니다. 이 메소드는 현재 호스트의 호스트 이름을 반환 한 다음 호스트 이름에 따라 해당 IP를 구문 분석합니다. 따라서 두 번째 솔루션은 컴퓨터의 호스트 이름 및 /etc /호스트 파일을 구성하고 컴퓨터의 호스트 이름을 유효한 IP 주소에 직접 매핑하는 것입니다.
4 인스턴스 IP를 지정합니다
#Ipeureka.instance.ip-address =#호스트 이름 대신 ip를 사용하여 eureka.instance.prefer-ip-address = 등록을 위해 true를 사용하십시오.
5 JAR 명령 매개 변수를 전달합니다
java -jar xxx.jar ---spring.cloud.inetutils.preferred-networks = #set 또는 java -jar xxx.jar ---spring.cloud.inetutils.igned -interfaces = #the 네트워크 카드를 필터링 해야하는 IP 주소.
위의 초보자는 오후에 어려움을 겪고 있으며 모두가 함께 의사 소통하는 좋은 방법이 있습니다. 모든 사람의 학습에 도움이되기를 바랍니다. 모든 사람이 wulin.com을 더 지원하기를 바랍니다.