Nginx にて「413 Request Entity Too Large」エラーの対処法

Nginx にて「413 Request Entity Too Large」エラーの対処法

request_entity_too_large_top

Nginx の最大bodyサイズを設定する

nginx + php にて写真のアップロードを行おうとしたところ、「413 Request Entity Too Large」というエラーが発生。PHP の設定によるメモリの制限かと考えて、php.ini を確認したところ問題がなかったために、エラーの解決に手間取りました。

そこで今回は nginx + php で遭遇した 403 エラーを解消する際に調べた内容をメモとして残します。

Advertisement

「413 Request Entity Too Large」エラーの原因と対処法

413エラーの原因

調べてみたところ、nginx では受け付ける最大の body サイズが 1MB に設定されており、設定値を超過した際に413エラーがでるとのことでした。

参考として公式ページの抜粋とリンクを貼っておきます。

Syntax: client_max_body_size size;
Default: client_max_body_size 1m;
Context: http, server, location
Sets the maximum allowed size of the client request body, specified in the “Content-Length” request header field. If the size in a request exceeds the configured value, the 413 (Request Entity Too Large) error is returned to the client. Please be aware that browsers cannot correctly display this error. Setting size to 0 disables checking of client request body size.

〇nginx 公式サイトの「client_max_body_size」の説明ページへのリンク
https://nginx.org/en/docs/http/ngx_http_core_module.html#client_max_body_size

 

413エラーの解決方法(client_max_body_size の設定)

原因で分かるように nginx の設定「client_max_body_size」を調整して、 nginx が受付可能な最大 body サイズを調整すれば良いことになります。

client_max_body_size を 64MB に変更した際のサンプル

Advertisement

インフラカテゴリの最新記事