강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của xorwnsnmnn6292
xorwnsnmnn6292

câu hỏi đã được viết

Học Docker và môi trường CI thông qua thực hành [Cập nhật 11.2023]

Viết file Docker Compose

연동 오류(Connection Refused) 관련

Viết

·

1.2K

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

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

awsgithubdockercicd데이터 엔지니어링travis-ci

Câu trả lời 2

0

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

0

John Ahn님의 프로필 이미지
John Ahn
Người chia sẻ kiến thức

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

nmnnhlba님의 프로필 이미지
nmnnhlba
Người đặt câu hỏi

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
Người đặt câu hỏi

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
Người đặt câu hỏi

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

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

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

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

Hình ảnh hồ sơ của xorwnsnmnn6292
xorwnsnmnn6292

câu hỏi đã được viết

Đặt câu hỏi