413 Request Entity Too Largeの解決方法


Laravel初学者です。
オリジナルアプリを作成しているのでその過程を記事にしています。

理解が曖昧なところも多いため、ご指摘等ありましたらご連絡いただければ幸いです。

今回は
413 Request Entity Too Large
が出たのでその解決方法を記録として残します。

環境

Version
PHP 7.4.14
Laravel 8.24.0
mysql 8.0.23
docker 20.10.2
docker-compose 1.27.4

エラー発生

画像を投稿する画面で画質の高い画像を送信した際にエラーが発生しました。

エラー文を見る限り画像大きすぎですよというエラーですね。
下にnginxと記載されているのでどうやらnginxのエラーみたいです。

解決

こちらの記事を参考にさせていただき解決できました。
ありがとうございます!

Nginxはデフォルトでは最大のアップロードのサイズが1MBとなっているようです

とのことです。

自分のnginxのdefault.confファイルを開き

default.conf
server {
    listen 80;
    server_name example.com;
    root /work/public;

    add_header X-Frame-Options "SAMEORIGIN";
    add_header X-XSS-Protection "1; mode=block";
    add_header X-Content-Type-Options "nosniff";

    index index.php;

    charset utf-8;

    //以下を追加する
    client_max_body_size 10M;
    }

上記の記述をしただけでは反映されないのでnginxを再起動(私の場合はDocker環境なのでDockerを再起動しました)で解決です。

以上です。