Назад | Перейти на главную страницу

Nginx + Passenger: остановить загрузку файлов по истечении 30 секунд

У меня есть приложение ruby, которое работает под управлением пассажира и nginx. Если я пытаюсь загрузить большой файл (например, 15+ мегабайт), когда он достигает 30 секунд, загрузка перезапускается (в соответствии с хромом), а в конце следующих 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; 

к блоку сервера, но это не помогло.

Ура, макс

Я только что столкнулся с этой проблемой и, похоже, решил ее, увеличив client_max_body_size на моем сервере http блок:

http {
    ...
    client_max_body_size 128m;
    ...
}