499는 nginx가 아직 요청을 처리하는 동안 클라이언트가 연결을 닫았을 때 액세스 로그에 나타나는 nginx 전용 코드입니다. 받을 상대가 없으므로 응답은 전송되지 않습니다.
대개 업스트림 애플리케이션이 느렸다는 뜻입니다. 사용자가 다른 페이지로 이동했거나, 로드 밸런서나 API 클라이언트가 자체 타임아웃에 걸렸거나, 상태 확인(health check)이 기다리다 포기한 경우입니다. 요청 시간이 긴 499가 급증한다면 백엔드가 느리다는 신호이며, 페이지 로딩을 취소한 사용자로 인한 499가 몇 건 있는 것은 정상입니다.
nginx 앞단의 프록시가 먼저 시간 초과되면, nginx는 499를 기록하고 프록시는 504나 Cloudflare의 524 같은 자체 오류를 보고합니다.
응답 예시
HTTP
# The client gave up before nginx had a response; nothing is sent.
# nginx access.log (last field: $request_time in seconds)
198.51.100.23 - - [06/Nov/2026:10:15:32 +0000] "GET /report?year=2026 HTTP/1.1" 499 0 "-" "Mozilla/5.0" 30.001 SEO 및 리디렉션 검사
크롤러가 499를 받는 일은 없지만, Googlebot이 느린 페이지를 기다리다 포기하면 서버 로그에는 해당 요청이 499로 기록됩니다. 이는 서버 응답 시간이 느리다는 신호이며, 느린 응답은 Google의 크롤링량을 줄입니다. 리디렉션 검사 도구도 매우 느린 홉에서는 시간 초과됩니다. 리디렉션 지연 시간 측정 도구로 어느 홉이 느린지 확인하세요.
주요 원인과 사용 사례
- 애플리케이션 백엔드의 처리 시간이 클라이언트, CDN, 로드 밸런서가 기다릴 수 있는 시간보다 깁니다.
- 사용자가 느린 페이지가 로드되기 전에 취소하거나 떠납니다.
- 모니터링과 상태 확인에 짧은 타임아웃이 설정되어 있습니다.