Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Nginx error: client intended to send too large body

Periodically I get an error:

This site can't be reached.
The webpage at https://example.com/document might be temporarily down or it my have moved permanently to are new web address.

My site is stored on AWS. I use rails + nginx + passenger.

Nginx error log:

client intended to send too large body: 3729822 bytes, 
client: 172.42.35.54, server: example.com, 
request: "POST /document HTTP/1.1", host: "test.example.com", 
referrer: "https://test.example.com/document/new"

app log:

ActionController::RoutingError (No route matches [GET] "/document")

After a while, the error disappears. I have doubts that this is due to deployment, but I'm not sure. Could you please tell me, with what it can be related and how to fix such a problem?

like image 209
Andy Avatar asked Jun 24 '17 22:06

Andy


3 Answers

For me path of nginx.conf was /etc/nginx/nginx.conf.

In my case I just added client_max_body_size in http block and it worked for me

http {
    ...
    client_max_body_size 20M;
}    

Make sure to restart nginx after changing this config

like image 176
Zohab Ali Avatar answered Nov 08 '22 12:11

Zohab Ali


Default Nginx config limits client request body with 1Mb.
You have to increase client_max_body_size to allow users to post large documents.
Don't miss with the context (http, server, location) of this derictive and don't forget to reload configuration or restart Nginx after that.

like image 27
Pavel Mikhailyuk Avatar answered Nov 08 '22 12:11

Pavel Mikhailyuk


I have updated /etc/nginx/nginx.conf

in my case, I have added client_max_body_size in http block after sendfile on; as below

http {
    ...
    sendfile on;
    client_max_body_size 20M;
}

it is very important to put client_max_body_size after sendfile on;

Don't forget to restart nginx as below after updating the nginx.conf

For ubuntu

sudo service nginx restart

For Centos

sudo systemctl restart nginx
like image 1
Rohit Ramani Avatar answered Nov 08 '22 12:11

Rohit Ramani