Replit이 출시되자마자 건강 점검에 멈춘다면, 대부분 플랫폼이 무작위로 펌프를 하는 것이 아니라, 애플리케이션이 배포 환경이 기대하는 방식으로 외부 세계에 서비스를 제공하지 않는 것입니다. 현재 Replit의 문서에서 가장 중요한 두 단계는 애플리케이션이 HTTP 포트를 올바르게 노출해야 한다는 점과 배포를 위한 시작 명령어입니다. 리플릿 설정과 포트 매핑이 일치할 것입니다.
가장 흔한 세 가지 구덩이가 있습니다. 첫째, 프로그램은 localhost만 듣고, 이 포트를 외부 포트에 매핑하지 않습니다. 둘째, 애플리케이션은 실제로 3000이나 5173 같은 포트에서 실행되지만, .replit 파일은 올바른 구성 [[[ports]]를 가지고 있지 않습니다. 셋째, 배포 중에 실행되는 명령은 작업 공간에서 수동으로 실행하는 명령과 다릅니다.
이런 문제는 작업 공간 미리보기에서는 "실행 가능해 보인다"고 불편하지만, 건강 체크는 출시 후 표준 항목을 거치기 때문입니다. 외부 포털이 애플리케이션과 연결되어 있지 않으면, 플랫폼은 서비스가 건강하지 않다고 판단할 수밖에 없습니다.
조사 순서는 다음과 같이 권장됩니다:
1. 먼저, 애플리케이션이 최종적으로 어떤 로컬 포트를 듣고 있는지 확인하세요.
2. .replit의 [[ports]]가 이 localPort를 외부의 Port에 매핑하는지 확인한다.
3. 프로그램이 localhost만 결합한다면, exposeLocalhost = true가 활성화되어 있는지 확인하거나 외부 접근 가능한 청취 방법으로 바로 변경하세요.
4. 배포 시작 명령이 로컬 디버깅과 동일한지 확인하세요.
Replit 문서에는 웹뷰나 외부 요청이 제대로 노출된 HTTP 포트에만 접근할 수 있음을 상기시킵니다. 따라서 건강 점검이 실패할 때는 비즈니스 로직보다는 "서비스가 실제로 노출되었는지"를 먼저 확인해야 합니다.
한마디로, 건강 점검을 통과하지 못하는 이유는 앱이 실행되지 않아서가 아니라 플랫폼이 이를 찾지 못하는 경우가 많습니다. 포트, 청취 주소, 시작 명령을 정렬하면 많은 배포 문제를 해결할 수 있습니다.