This morning I wanted to install WooCommerce Storefront and I got a Laravel Valet Nginx error 413:
Error 413: Request entity too large
This was a new error for me I had never encountered before. This because most Nginx setups have dealt with this issue and because Laravel is just new to the whole LEMP setup.
Client Max Body Size
PHP settings were fine and were not the issue. This was an Nginx error. I needed to enlarge the:
client_max_body_size
You can read more about it at Nginx here.
NGINX Site Config
To do that you have to edit the nginx file for your site. So on OSX (Mac) you open it with sublime from the terminal like so:
sublime /Users/user/.valet/Nginx/your-site.dev
Server Block Update
At the beginning of the server block for port 443 (if you are running it secure) you should add this line
client_max_body_size 500M;
You can make the amount in Megabytes smaller of course, but doing it all locally this should be fine. And then it should look like something like:
server { listen 443 ssl http2; server_name your-site.dev; root /; charset utf-8; client_max_body_size 500M;
If you are running the site using HTTPS so not secure it will be the server block for port 80 where you need to add the line.
NB Test with (sudo) nginx -t
Restart Nginx
Once done restart the server doing a:
valet restart
or a
sudo nginx -s stop && sudo nginx
should do the trick and restart the http server – Nginx. After that you should be good to go!