我正在运行nginx/ruby-on-rails,我有一个简单的multipart表单来上传文件。 一切工作正常,直到我决定限制我想上传的文件的最大大小。为此,我将nginx client_max_body_size
设置为1m(1MB),并且在该规则中断时预期HTTP 413(请求实体太大)状态作为响应。nginx上传client_max_body_size问题
问题是当我上载一个1.2 MB的文件,而不是显示HTTP 413错误页面时,浏览器挂起一点,然后死亡与“连接被重置,而页面加载”消息。
我试过几乎每个选项都有nginx提供,似乎没有任何工作。有没有人对此有任何想法?
这里是我的nginx.conf:
worker_processes 1;
timer_resolution 1000ms;
events {
worker_connections 1024;
}
http {
passenger_root /the_passenger_root;
passenger_ruby /the_ruby;
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name www.x.com;
client_max_body_size 1M;
passenger_use_global_queue on;
root /the_root;
passenger_enabled on;
error_page 404 /404.html;
error_page 413 /413.html;
}
}
感谢。
**Edit**
环境/ UA:的Windows XP /火狐3.6.13
我遇到,在这里,太:http://forum.nginx.org/read.php?2,2620凡nginx的作者说,人们可以尝试改变lingering_time/lingering_timeout - 这两者有在我的情况下没有效果。另外,我只是看不到持续的超时问题,当我上传1.2MB的文件时,只有1MB的限制,很容易有稳定的5Mbps连接。我嗅探了响应,它确实发送了“Connection:close”标题的413页面,但连接似乎没有关闭。 – krukid 2011-02-10 11:19:54
我想我只是很难相信,即使有一个完全有效的413 HTTP状态,它不会在浏览器中触发。我搜索了很多地方,人们无法摆脱那个页面,我从来没有看到它。 – krukid 2011-02-10 11:29:30
如果您禁用乘客,是否关闭连接? – 2011-02-10 15:23:27