글 / FastAPI 배포
헬스 체크 주소 설정
인증 없이 200 응답만 반환하는 주소 하나를 두면 서비스 점검과 기동 확인이 간단해진다.
헬스 체크 주소의 필요성
서비스의 동작 여부를 확인할 때마다 첫 화면을 요청하면 부하가 크고, 인증이 적용되어 있으면 401만 반환되어 동작 여부를 구분하기도 어렵다. 별도의 처리 없이 200 응답만 반환하는 주소가 하나 있으면 충분하다.
애플리케이션 구현
@app.get("/api/health")
async def health():
return {"status": "ok"}
Nginx 인증 예외
사이트 전체에 인증이 적용되어 있다면 이 주소만 인증에서 제외한다.
location = /api/health {
auth_basic off;
proxy_pass http://127.0.0.1:5011;
}
용도
- 기동 스크립트는 이 주소가 응답할 때까지 대기한다.
- 점검 시
curl명령 한 줄로 확인한다.