• 카테고리

    질문 & 답변
  • 세부 분야

    데브옵스 · 인프라

  • 해결 여부

    미해결

연동 오류(Connection Refused) 관련

21.03.22 03:30 작성 조회수 948

0

안녕하세요.

Backend쪽 API를 호출할 때 502 Error가 발생해서 Nginx 쪽 로그를 확인해보니, Connection Refused 에러가 발생했네요.

DB와 테이블은 정상적으로 생성된 상황에서 Back단과 DB와의 연동 포인트에서 막혀버리는 게 아닌가 싶은데요.

2021/03/21 18:18:56 [error] 30#30: *32 connect() failed (111: Connection refused) while connecting to upstream, client: 192.168.0.4, server: , request: "GET /api/values HTTP/1.1", upstream: "http://192.168.128.4:5000/api/values", host: "192.168.0.11:3000"

192.168.0.4 - - [21/Mar/2021:18:18:56 +0000] "GET /api/values HTTP/1.1" 502 559 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36" "-"

192.168.0.4 - - [21/Mar/2021:18:18:56 +0000] "GET /favicon.ico HTTP/1.1" 200 3473 "http://192.168.0.11:3000/api/values" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36" "-"

어떠한 부분을 좀 더 확인해봐야할까요??

Docker가 설치된 Ubuntu에서 돌린건데 뭔가 환경적인 문제가 있는걸까요?? (Ubuntu에서 돌린다한들 어차피 Docker 환경이라 그럴 것 같진 않겠지만요.)

오랜시간 고민하다가 어렵게 질문드립니다. 제가 구현했던 코드 링크 공유해드립니다.

https://drive.google.com/file/d/1VszqsdYXGMaxVG0ekISLFz0NYUQkrYHy/view?usp=sharing

바쁘시겠지만, 잠시 시간을 내주셔서 확인해주시면 감사하겠습니다.

답변 2

·

답변을 작성해보세요.

0

il l님의 프로필

il l

2021.12.29

저는 backend의 db.js와 server.js 코드에 오류가 있어 502 에러가 발생했었습니다..! 이 글을 보는 다른분들은 서버쪽 코드에 문제가 없는지 체크해보시면 좋을 것 같습니다!

0

안녕하세요    우선 공유해주신게  권한이 막혀서 보지 못하던데 
우선 이부분은 DB단 문제보다   Nginx 설정쪽 소스코드랑  docker-compose.yml 파일의 소스부분에서 오타가 난게 아닌가 생각되는데  그 부분을 한번 다시 살펴봐 주실수 있을까요?!    

nmnnhlba님의 프로필

nmnnhlba

질문자

2021.03.23

https://drive.google.com/file/d/1wU6ApwUVjjrHeAXjwtKr9WnXfEu5GVAY/view?usp=sharing

링크 다시 공유해드립니다. 알려주신대로 파일 경로쪽에 오타가 있는지 확인 후 다시 띄워봤습니다.

그런데 여전히 오류가 발생하네요.

웹 브라우저에서는 아래와 같은 오류 로그가 발생했습니다.

EACCES: permission denied, mkdir '/app/node_modules/.cache'

그리고, Nginx 쪽에서는 아래와 같은 오류 로그가 발생했습니다.

nginx_1     | 2021/03/22 15:14:28 [error] 30#30: *6 upstream prematurely closed connection while reading response header from upstream, client: 192.168.0.4, server: , request: "GET /api/values HTTP/1.1", upstream: "http://192.168.208.4:5000/api/values", host: "192.168.0.11:3000", referrer: "http://192.168.0.11:3000/"

nginx_1     | 192.168.0.4 - - [22/Mar/2021:15:14:28 +0000] "GET /api/values HTTP/1.1" 502 559 "http://192.168.0.11:3000/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36" "-"

nginx_1     | 192.168.0.4 - - [22/Mar/2021:15:14:28 +0000] "GET /static/js/vendors~main.chunk.js HTTP/1.1" 304 0 "http://192.168.0.11:3000/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36" "-"

nginx_1     | 192.168.0.4 - - [22/Mar/2021:15:14:28 +0000] "GET /static/js/vendors~main.chunk.js.map HTTP/1.1" 304 0 "http://192.168.0.11:3000/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36" "-"

도저히 원인을 모르겠네요. 마찬가지로 연동부터 안되는 상황입니다.

찍힌 로그를 가지고 구글링을 해봐도 해결책을 여전히 찾지 못한 상황입니다.

뭔가 또다른 원인이 있는걸까요??

nmnnhlba님의 프로필

nmnnhlba

질문자

2021.03.25

Back단과 DB와의 연동은 잘 됩니다. 강의에 사용한 MySQL이 아닌 MariaDB로 바꿔서 구현하고 있었는데요.

Node와의 연동 패키지도 mariadb를 사용하려 했으나, 막히는 부분이 있어서 mysql로 바꿔서 해보니 잘 됩니다.

그렇지만, 웹 브라우저에서 기본 페이지를 띄웠을 때 여전히 EACCES: permission denied, mkdir '/app/node_modules/.cache' 메시지를 띄우면서 정상적으로 동작하지 못하고 있습니다.

제가 구현한 코드 아래 링크로 첨부드립니다. 바쁘시겠지만 확인해주시면 감사하겠습니다.

https://drive.google.com/file/d/1VUwh0JQ4G-injjsWIkbzzruvCBGgLBN0/view?usp=sharing

nmnnhlba님의 프로필

nmnnhlba

질문자

2021.03.29

소스코드 대조도 해보고, 디렉터리별로 하나하나 바꿔가면서 추적해봤는데요.

결론은 React 17.0.1에서 문제를 일으키는 것 같네요. 강사님께서 올려주신 React 16.13.1에서 다시 돌리니 잘 나옵니다.

혹시 React 17.0.1에서 저런 오류가 왜 나는지 알 수 있을까요???

(오랜 고민 끝에 React 버전 호환성으로 결론지은 문제라 왜 이렇게 나오는지 궁금합니다.)