인프런 커뮤니티 질문&답변

cjswoudddn님의 프로필 이미지
cjswoudddn

작성한 질문수

Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)

UnknownHostException 질문드립니다!

작성

·

6.1K

1

우선 좋은 강의 감사드립니다.

gateway와 discovery server를 이용해 client server를 연결하는 중 오류가 생겼고 해결이 안 돼 질문드립니다.

개발환경은 windows10, spring boot 2.4.4, intellij ultimate, java 11입니다.

대부분 실습을 그대로 사용했습니다.

포스트맨 요청 화면

gateway의 콘솔에러 화면

gateway의 application.yml

discovery-server의 application.yml

first-service의 application.yml

discovery server 내에서 URI의 첫부분이 127.0.0.1로 매핑되지 않고 desktop-...으로 매핑되는 문제인 것 같은데

서버 ip 를 127.0.0.1로 설정한 뒤

아래와 같이 옵션을 추가해줘도 똑같은 에러가 발생하네요 ㅠㅠ

구글에 자료를 검색해도 관련 자료가 너무 적어 결국 질문드립니다. 감사합니다.

답변 2

0

Dowon Lee님의 프로필 이미지
Dowon Lee
지식공유자

위에 분이 답변에 도움을 주셨네요. 감사합니다!

0

Dowon Lee님의 프로필 이미지
Dowon Lee
지식공유자

안녕하세요, 이도원입니다. 

문의하신 질문은 first-service 애플리케이션에서 server.address=127.0.0.1을 지정했기 때문인것 같습니다.  server.address를 지정해 버리면, 해당 IP로만 접속을 허용하기 때문에, 다른 IP로 접속을 모두 거부하게 됩니다. 만약 위 설정처럼,  server.address=127.0.0.1 일 경우이면, 물론 first-service에 직접 http://127.0.0.1:[first-service의 포트번호]/first-service/check라고 입력하면 접속은 되곘지만, 실제 작업 PC의 IP 주소를 입력해도 같은 오류가 발생합니다. first-service의 application.yml 파일에서 server.address를 삭제하시고 다시 실행해 보시기 바랍니다. (server.address 삭제 시 instance의 ip-address도 삭제)

감사합니다. 

cjswoudddn님의 프로필 이미지
cjswoudddn
질문자

빠른 답변 감사드립니다!

말씀하신 대로 application.yml을 변경하였지만 동일한 에러가 나옵니다.

일단 강의를 다시보며 똑같이 다시 실습해보겠습니다.

그때도 안되면 다시 질문 올리겠습니다!

2021-04-13 16:37:34.103 ERROR 11368 --- [ctor-http-nio-4] a.w.r.e.AbstractErrorWebExceptionHandler : [eb469596-6]  500 Server Error for HTTP GET "/first-service/welcome"

java.net.UnknownHostException: failed to resolve 'DESKTOP-FOS4SST' after 4 queries 

at io.netty.resolver.dns.DnsResolveContext.finishResolve(DnsResolveContext.java:1013) ~[netty-resolver-dns-4.1.60.Final.jar:4.1.60.Final]

Suppressed: reactor.core.publisher.FluxOnAssembly$OnAssemblyException: 

Error has been observed at the following site(s):

|_ checkpoint ⇢ org.springframework.cloud.gateway.filter.WeightCalculatorWebFilter [DefaultWebFilterChain]

|_ checkpoint ⇢ HTTP GET "/first-service/welcome" [ExceptionHandlingWebHandler]

cjswoudddn님의 프로필 이미지
cjswoudddn
질문자

해결했습니다! 정확한 원인은 모르겠습니다만 ㅠㅠ

고통받으시는 분 있을까봐 해결책 남깁니당

추측으로는 윈도우에서 hostname은 default로 기기명이 입력되고

맥에서는 default로 localhost가 입력되는 것 같습니다.

그래서 윈도우로 작업하시는 분은 아래와 같이 설정을 추가해주면 정상적으로 동작합니다!

eureka:
instance:
hostname: localhost

오..덕분에 저도 문제해결했네요.

윈도우에 hosts파일에 이상한 도메인이 localhost를 바꾸고 있었는데 도움받았습니다. 감사

감사합니다 덕분에 해결했습니다.

윈도우에서는 eureka client 들의 instance hostname 을 다 지정해주어야 작동하는군요.

cjswoudddn님의 프로필 이미지
cjswoudddn

작성한 질문수

질문하기