HTML, DOM, Node.js

Express 서버 모든 요청에 대한 err_connection_refused 문제 해결

파란배개 2020. 12. 30. 17:28

express 서버에 클라이언트가 요청할 때 get, options, post 모든 요청에 err_connection_refused가 뜨면서 fetch가 실패했다.

검색해보니 데이터 베이스가 응답을 하지 않았다거나 app.listen()에 port를 입력하지 않아 발생한다는 답변이 많았다.

나의 경우에는 http로 만든 서버를 express로 바꾸는 과정에서

app.listen(port, () => { 
  console.log('server is listening on http://' + ip + ':' + port)
})

이런식으로 사용했을 때 변수 ip 때문에 오류가 발생했다.

 

app.listen(port, () => { 
  console.log('server port is ' + port)
})

로 바꾸니 해결됐다.

그런데 이 글을 쓰면서 상황을 재현하기 위해 코드를 되돌렸는데 놀랍게도 모든 요청에 정상 작동했다.

 

 

뭔데?!

 

------------------수정-------------------

 

진짜 문제를 알아냈다. 

package.json에서 "start": "nodemon --inspect-brk server/basic-server.js"이 문제였다.

디버깅을 위해 --inspect-brk옵션을 줬는데 디버깅을 위한 주소가 사용하는 포트가 이미 사용중이라 서버가 시작이 되지 않았던 것이었다.

"start": "nodemon server/basic-server.js"으로 바꾸니 정상적으로 작동했다.