Nginx错误:客户端意图发送太大的身体

时间:2017-06-24 22:30:01

标签: ruby-on-rails ruby amazon-web-services nginx amazon-ec2

我定期收到错误:

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.

我的网站存储在AWS上。 我使用rails + nginx + passenger。

Nginx错误日志:

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")

过了一会儿,错误就消失了。我怀疑这是因为部署,但我不确定。你能告诉我,它可能与什么有关,以及如何解决这个问题?

2 个答案:

答案 0 :(得分:6)

对我来说nginx.conf的路径是/etc/nginx/nginx.conf

就我而言,我刚刚在client_max_body_size中添加了http block,它对我有用

http {
    ...
    client_max_body_size 20M;
}    

请确保在更改此配置后重新启动nginx

答案 1 :(得分:3)

Default Nginx配置使用1Mb限制客户端请求正文 您必须增加client_max_body_size以允许用户发布大型文档 不要错过这个derictive的 context (http,服务器,位置),不要忘记重新加载配置或在此之后重新启动Nginx。