LoginSignup
0
0

More than 1 year has passed since last update.

Laravel8 Nginx 「413 Request Entity Too Large」のエラーが出た

Last updated at Posted at 2021-12-20

目的

  • Laravel8 nginxのDockerローカル開発環境にて「413 Request Entity Too Large」のエラーがでたため解決策をメモ的に記載する

経緯とエラー内容

  • Laravel8のとあるアプリをapiサーバーとして利用し、ファイルPostの処理を作成してPostmanから100MBを超えるファイルをPostしたところ下記のエラーがでた。

    413 Request Entity Too Large
    

原因

  • nginxの設定が良くないっぽい。
  • デフォルトでNginxは1MBまでのファイルしかPostする事ができない。

  • 今表示されているエラーはnginxによるものだがphp.iniにもファイルアップロードの容量制限があった気がするのでそちらもチェックする。

解決方法(700MBのファイルアップロードまで許可する場合)

  1. nginxの設定変更

    1. Dockerのコンテナ作成時に使用するdefault.confのserver{}内に下記の一行を記載する。

      default.conf
      client_max_body_size 700M;
      
  2. php.iniの設定変更

    1. 昔同じようなことが会って自分で記事にしてた。
    2. 下記の記事を参考にPHP側のファイルアップロード上限も修正する。
    3. Dockerのコンテナ作成時に使用するphp.iniファイルのpost_max_sizeupload_max_filesizeの設定を下記の様に変更する。

      php.ini
      ; Maximum size of POST data that PHP will accept.
      ; Its value may be 0 to disable the limit. It is ignored if POST data reading
      ; is disabled through enable_post_data_reading.
      ; http://php.net/post-max-size
      post_max_size = 700M
      
      ;~~~~~~~~~~~~~~~~~~ 中略 ~~~~~~~~~~~~~~~~~~
      
      ; Maximum allowed size for uploaded files.
      ; http://php.net/upload-max-filesize
      upload_max_filesize = 700M
      
  3. コンテナの再構築

    1. 下記コマンドを実行してコンテナを再起動する。

      $ docker-compose up -d --build
      
  4. それでも「413 Request Entity Too Large」のエラーが解消しない方は下記を参照いただきたい。

参考文献

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0