Nginx: 413 Request Entity Too Large
Nginxでリクエストボディのサイズが制限を超えた場合に発生するエラー
概要
Nginxがクライアントからのリクエストボディサイズが client_max_body_size の制限値(デフォルト1MB)を超えた場合に返すHTTP 413エラーです。ファイルアップロードやAPI呼び出しで頻繁に発生します。
エラーメッセージ
413 Request Entity Too Large
Nginxエラーログ:
[error] 12345#12345: *1 client intended to send too large body: 10485760 bytes, client: 192.168.1.1, server: example.com, request: "POST /upload HTTP/1.1"
原因
- client_max_body_sizeのデフォルト値が小さい: Nginxのデフォルトは1MBで、画像・動画アップロードでは不足する
- バックエンドとの設定不一致: PHP(upload_max_filesize)やアプリケーション側の制限と合っていない
- リバースプロキシでの二重制限: プロキシ元とプロキシ先の両方で制限がかかっている
解決策
1. nginx.confでclient_max_body_sizeを変更
| |
設定変更後にNginxをリロード:
| |
2. PHP(php-fpm)の設定も合わせる
| |
| |
3. リバースプロキシ設定の調整
| |
4. 制限を無効化する(非推奨)
| |
関連エラー
Nginx の他のエラー
この記事は役に立ちましたか?