24.10.07 20:41 작성
·
38
·
수정됨
0
안녕하세요 강사님, 강의 영상 잘 보고 있습니다.
first-service, second-service 둘다 실행 후에 apigateway-service 실행했습니다. 그런데 apigateway 쪽에서 연결 거부 당했다는 로그가 지속적으로 올라오네요 이유를 모르겠습니다.
apigateway 의 application yml파일
여기서 궁금한게 defaultZone 설정 해서, discoveryservice 프로젝트도 구동 시켜줬는데, 같은 에러로그가 지속 적으로 올라오네요..
server:
port: 8000
eureka:
client:
register-with-eureka: false
fetch-registry: false
service-url:
defaultZone: http://localhost:8761/eureka
spring:
application:
name: apigateway-service
cloud:
gateway:
routes:
- id: first-service
uri: localhost:8081/first-service
predicates: # ??? Path ??? first-service?? ?? uri? ??
- Path=/first-service/**
- id: second-service
uri: localhost:8082/second-service
predicates: # ??? Path ??? second-service?? ?? uri? ??
- Path=/second-service/**
콘솔 내용
2024-10-07 20:39:53.214 WARN 2024 --- [OvbxrBtUd7XQ-87] o.s.a.r.l.SimpleMessageListenerContainer : Consumer raised exception, processing can restart if the connection factory supports it. Exception summary: org.springframework.amqp.AmqpConnectException: java.net.ConnectException: Connection refused: no further information
2024-10-07 20:39:53.214 INFO 2024 --- [OvbxrBtUd7XQ-87] o.s.a.r.l.SimpleMessageListenerContainer : Restarting Consumer@4dca89d2: tags=[[]], channel=null, acknowledgeMode=AUTO local queue size=0
2024-10-07 20:39:53.215 INFO 2024 --- [OvbxrBtUd7XQ-88] o.s.a.r.c.CachingConnectionFactory : Attempting to connect to: [localhost:5672]
추가 예외
2024-10-07 20:51:37.290 INFO 18012 --- [ main] c.c.c.ConfigServicePropertySourceLocator : Fetching config from server at : http://localhost:8888
2024-10-07 20:51:37.304 INFO 18012 --- [ main] c.c.c.ConfigServicePropertySourceLocator : Connect Timeout Exception on Url - http://localhost:8888. Will be trying the next url if available
2024-10-07 20:51:37.304 WARN 18012 --- [ main] c.c.c.ConfigServicePropertySourceLocator : Could not locate PropertySource: I/O error on GET request for "http://localhost:8888/apigateway-service/default": Connection refused: no further information; nested exception is java.net.ConnectException: Connection refused: no further information
답변 2
0
2024. 10. 08. 08:43
안녕하세요 이도원입니다.
올려주신 오류 메시지를 확인한 내용으로 답변 드립니다.
apigateway-service의 application.yml 파일
routes.uri 부분에 localhost:8081 로 시작하는 부분을 http:// 를 붙여서 http://localhost:8081 와 같이 변경해 보시기 바랍니다.
eureka 설정 부분에 register-with-eureka와 fetch-registry 의 설정 값을 false에서 true로 변경하시기 바랍니다.
콘솔에 출력 된 localhost:5672 오류는 rabbitmq 서버를 찾지 못해 발생하는 오류입니다. 아직 rabbitmq에 대한 실행 되지 않은 거라면, 일단 무시하시고 실행하셔도 됩니다.
추가예외에 발생 된 http://localhost:8888 에 관련 된 오류도 config-server가 실행되지 않았거나, 실행되었더라도 apigateway-service 라는 애플리케이션 정보를 얻지 못해 발생하는 오류인 것 같습니다. apigateway-service에서 config 설정하는 부분에서 apigateway-service부분을 user-service 등과 같이 실제 존재하고 있는 yml 파일의 이름으로 변경해 보시기 바랍니다.
추가 질문 사항 있으시면 다시 글 남겨 주세요.
감사합니다.
0
안녕하세요, 인프런 AI 인턴입니다.
Agrev님이 겪고 계신 apigateway 연결 오류에 대해 몇 가지 중요한 점을 짚어드리겠습니다. Connection refused
에러는 주로 네트워크 설정이나 잘못된 URI 설정 등에서 기인할 수 있습니다.
Eureka 등록 확인:
register-with-eureka: false
와 fetch-registry: false
가 되어 있으면 Eureka 서버와의 연동이 차단될 수 있습니다. 서비스가 서버에 등록되고 다른 서비스 정보를 가져오도록 true
로 설정해보세요.Gateway URI 설정:
http://
를 명시해야 URL로 인식됩니다. uri: localhost:8081/first-service
와 같은 형식 대신 uri: http://localhost:8081/
로 변경해 보세요.RabbitMQ 등 외부 서비스 연결 확인:
localhost:5672
연결 실패는 RabbitMQ에 연결하지 못하고 있음을 나타냅니다. RabbitMQ 서버가 실행 중인지, 올바른 포트로 접근할 수 있는지 확인하십시오. Docker와 같은 환경에서 서비스를 운영 중이라면 네트워크 설정과 포트 매핑을 확인해 보세요.Spring Cloud Gateway 설정:
application.yml
에서 spring.cloud.gateway.routes
설정의 uri
필드에는 올바르게 구성된 URI가 필요합니다. http://localhost:8081
와 같이 프로토콜을 포함하여 주십시오.유사한 문제가 논의된 몇 가지 질문/답변 공유 링크를 통해 더 많은 해결책을 찾을 수 있습니다:
각각의 링크를 통해 비슷한 문제를 해결한 사례를 참고하시고, 문제가 지속된다면 더 구체적인 코드를 공유하시거나 설정 파일의 다른 부분도 함께 점검해 보시는 걸 권장드립니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.