【发布时间】:2011-06-24 05:50:54
【问题描述】:
我正在运行 nginx/ruby-on-rails,并且我有一个简单的多部分表单来上传文件。
一切正常,直到我决定限制我要上传的文件的最大大小。
为此,我将 nginx client_max_body_size 设置为 1m (1MB),并期望在该规则中断时响应 HTTP 413(请求实体太大)状态。
问题是,当我上传一个 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/Firefox 3.6.13
【问题讨论】:
标签: http file-upload nginx