작성
·
645
0
안보일 까봐 복사했습니다.
2022-05-02 07:18:24.438 INFO 1 --- [ main] c.c.c.ConfigServicePropertySourceLocator : Fetching config from server at : http://localhost:8888
2022-05-02 07:18:24.772 INFO 1 --- [ main] c.c.c.ConfigServicePropertySourceLocator : Connect Timeout Exception on Url - http://localhost:8888. Will be trying the next url if available
2022-05-02 07:18:24.773 WARN 1 --- [ main] c.c.c.ConfigServicePropertySourceLocator : Could not locate PropertySource: I/O error on GET request for "http://localhost:8888/capstone-cell-service/default": Connection refused; nested exception is java.net.ConnectException: Connection refused
2022-05-02 07:18:24.781 INFO 1 --- [ main] c.e.c.CapstoneCellServiceApplication : No active profile set, falling back to 1 default profile: "default"
* 그래서 라고생각하는데 회원가입은 제대로 진행되는 반면, 로그인 시도 시 ,
2022-05-02 10:10:21.244 ERROR 1 --- [o-auto-1-exec-3] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception
java.lang.NumberFormatException: Cannot parse null string
at java.base/java.lang.Long.parseLong(Long.java:685) ~[na:na]
at java.base/java.lang.Long.parseLong(Long.java:847) ~[na:na]
at com.example.capstoneuserservice.security.AuthenticationFilter.successfulAuthentication(AuthenticationFilter.java:71) ~[classes!/:1.0]
at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:232) ~[spring-security-web-5.5.5.jar!/:5.5.5]
at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:212) ~[spring-security-web-5.5.5.jar!/:5.5.5]
오류가 발생하면서 못읽어오는 듯한 모습을 보여주는것 같습니다..
https://github.com/KimTaeKang57/capstone-cloud-config.git
입니다만. WARN 오류를 잘 보면 연결을 하지못하는 것같은데요,
user-service의 bootstratp.yml 파일 내용은
spring:
cloud:
config:
uri: http://127.0.0.1:8888
name: application
다음과같고, config-server의 application.yml은
spring:
application:
name: capstone-configure-service
cloud:
config:
server:
git:
uri: https://github.com/KimTaeKang57/capstone-cloud-config.git
default-label: master
enabled: true
다음과 같이 되어있습니다. 그런데 ec2 서버에서 해서 그런가요.
http://localhost:8888/../default에 접근을 하지못하는 오류가 발생하여 탐색과 고민끝에 질문드립니다.
답변 1
1
안녕하세요, 이도원입니다.
문의하신 내용은 EC2 환경에서 Docker로 서비스를 기동했을 때 문제인것 같습니다. Docker 컨테이너 형태로 서비스를 실행하실때, 다른 서비스와의 연결을 위해 localhost(127.0.0.1)을 사용하시면 안됩니다. Docker 컨테이너는 하나의 가상PC라고 보시면 이해하시기 쉬울 것 같습니다. 2개의 서로 다른 PC(Server1, Server2라고 가정)가 있다고 가정할 때, Server1에서 Server2를 접속하려는 의도로 localhost를 사용하면, 이것은 Server1 자신을 가리키는 주소가 되기 때문에, 정상적인 접속이 되지 않습니다. 따라서, 올려주신 오류에 보면, http://127.0.0.01:8888로 접속이 되지 않는다고 나온 것 같습니다. config-service(http://127.0.0.01:8888)에 접속이 되어야지만, git으로 연결을 하던 로컬로 연결하던 configuration 정보를 읽어 올 텐데, user-service에서 config-service로의 연결이 되지 않은 것 같습니다.
user-service를 실행하실 때, config-service의 위치 정보를 -e 옵션으로 추가해 보시기 바랍니다. 다음은 제가 실행했던 Docker 컨테이너 실행 명령어입니다.
docker run -d --network ecommerce-network \
--name user-service \
-e "spring.cloud.config.uri=http://config-service:8888" \
-e "spring.rabbitmq.host=rabbitmq" \
-e "spring.zipkin.base-url=http://zipkin:9411" \
-e "eureka.client.serviceUrl.defaultZone=http://discovery-service:8761/eureka/" \
-e "logging.file=/api-logs/users-ws.log" \
edowon0623/user-service
확인해 보시고 문의사항 있으시면 다시 글 남겨 주세요.
감사합니다.
감사합니다. 여러방면으로 찾아보고 연결에 성공하였습니다. 딱 강사님 말씀대로였네요