499 は nginx 固有のコードで、nginx がまだリクエストを処理している間にクライアントが接続を閉じたとき、アクセスログに記録されます。受け取る相手がもういないため、レスポンスは送信されません。
通常は、上流のアプリケーションが遅かったことを意味します。ユーザーが別のページに移動した、ロードバランサーや API クライアントが独自のタイムアウトに達した、ヘルスチェックが待つのをやめた、といった状況です。リクエスト時間の長い 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、ロードバランサーが待てる時間を超えている場合。
- 遅いページが読み込まれる前に、ユーザーがキャンセルしたりページを離れたりした場合。
- 監視やヘルスチェックのタイムアウトが短い場合。