개발/자바스크립트
헤로쿠 503에러 해결 (code=H10 desc=App crashed)
대왕판다
2022. 10. 14. 16:07
노마드코더에서 youtube 클론코딩 강좌를 듣고 완성 후 heroku를 이용해 배포했었다.
그런데 얼마전 몽고db 아틀라스에서 장기 미활동으로 인해 클러스터를 정지시킨다는 예고 메일이 왔었다.
이후 클러스터는 자동으로 정지되었고 뒤늦게 배포 사이트를 들어가보니
이미 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와 연결이 끊어져 생긴 일이라 생각해 위와 같이 문제를 해결했다.