개발/자바스크립트

헤로쿠 503에러 해결 (code=H10 desc=App crashed)

대왕판다 2022. 10. 14. 16:07

노마드코더에서 youtube 클론코딩 강좌를 듣고 완성 후 heroku를 이용해 배포했었다.

그런데 얼마전 몽고db 아틀라스에서 장기 미활동으로 인해 클러스터를 정지시킨다는 예고 메일이 왔었다.

제때 Resume을 눌러줬더라면..

이후 클러스터는 자동으로 정지되었고 뒤늦게 배포 사이트를 들어가보니

이미 db가 꺼져버려 정상 접속이 되지 않았다.

위 안내 메세지대로 로그를 확인해보니

위처럼 503 에러를 뱉고있었다. 루트페이지와 파비콘 등 초기 페이지 전체가 정상적으로 처리되지 않는다.

뒤늦게 mongoDB에 접속해 다시 클러스터를 켜주고 헤로쿠 환경 변수 DB_URL을 새롭게 업데이트 해줬다.

(몽고디비 클러스터 0를 inactive -> active 해주는 과정에서 db 안 date들이 초기화되었기에 해주었다. 실제 url이 변경되는지 여부를 찾아보았으나 알 수 없었다.)

위와 같이 클러스터를 다시 active로 만들어준 후 헤로쿠 CLI  `heroku restart` 명령어를 통해 헤로쿠 서버를 재시작했더니

TIP By default heroku restart will restart all of your dynos, but you can specify a specific dyno to restart (e.g. heroku ps:restart web.1), or all dynos of a specific type (e.g. heroku ps:restart web).

멀쩡하게 접속이 된다!

 

 

헤로쿠 코드 H10 해결을 위해 구글링해보면,

주로 express port를 heroku 환경변수(process.env.PORT)로 주지 않아 발생한 경우가 많았다.

그러나 내 경우는 port 환경 변수가 잘 설정되어 있었고,

몽고디비 클러스터가 정지되면서 DB와 연결이 끊어져 생긴 일이라 생각해 위와 같이 문제를 해결했다.