我有一个在 Passenger 和 nginx 下运行的 ruby 应用程序。如果我尝试上传一个较大的文件(例如 15+ MB),当上传时间达到 30 秒时,上传将重新启动(根据 Chrome),并且在接下来的 30 秒结束时它会放弃并且我得到超时。
我可以在 nginx 配置中添加一个选项来防止这种情况发生吗?这是我当前的 nginx 配置:
worker_processes 1;
events {
worker_connections 1024;
}
http {
passenger_root /usr/local/lib/ruby/gems/1.8/gems/passenger-3.0.2;
passenger_ruby /usr/local/bin/ruby;
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
gzip on;
gzip_min_length 1000;
gzip_proxied expired no-cache no-store private auth;
gzip_types text/plain application/xml text/css text/javascript application/x-javascript;
gzip_disable "MSIE [1-6]\.";
server {
listen 80;
server_name alekskrotoski.com;
root /var/www/apps/akrotoski/public; # <--- be sure to point to 'public'!
passenger_enabled on;
}
}
我不是 nginx 专家,感觉这可能是显而易见的,无论如何希望如此。我已经尝试添加
proxy_read_timeout: 600;
到服务器块,但这没有帮助。
干杯,马克斯
答案1
我刚刚遇到了这个问题,似乎已经通过提高client_max_body_size
在我的服务器http
块中:
http {
...
client_max_body_size 128m;
...
}