我正在運行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