Проксирование файлов более 4Гб
Igor Sysoev
is at rambler-co.ru
Thu Aug 13 16:41:12 MSD 2009
On Thu, Aug 13, 2009 at 02:32:06PM +0300, Denis Zhdanov wrote:
> Привет всем!
> Имеем nginx 0.7.61 на FreeBSD 6.2, который стоИт фронтендом перед апачем.
> Помимо динамических страничек на апаче лежат несколько больших файлов, в
> том числе несколько файлов более 4Гб (переложить файлы на фронтенд
> затруднительно по ряду причин). Мелкие файлы отдаются нормально, а вот с
> большими проблемы - при выключенной буферизации закачка сначала
> останавливается, а потом обрывается по таймауту через некотрое количество
> мегабайт. При этом в access.log - обычный файл с кодом возврата 200 -
> 192.168.7.6 - - [13/Aug/2009:13:43:37 +0300] "GET
> /files/47ccdaf4dd87/dvd.iso HTTP/1.1" 200 178847744 "-" "Opera/9.64
> (Windows NT 5.1; U; ru) Presto/2.1.1"
> (сам dvd.iso при этом размером 4356636672 байт )
> а в error.log - ничего.
> При включенной буферизации работает нормально, но так как клиентов много и
> они медленные, то /var/spool/nginx/proxy_temp растет катастрофически
> быстро и за пару часов на /var кончается место. Буферами пробовал играться
> - не помогает.
> Проксирую так -
>
> location ~*
> \.cgi$|^/cgi-bin|^/check|^/download|^/index|^/files|^/beta {
> auth_basic off;
> proxy_buffering off;
> proxy_pass http://192.168.201.7:8000;
> proxy_set_header Host $host;
> proxy_set_header X-Real-IP $remote_addr;
> proxy_set_header X-Forwarded-For $remote_addr;
> }
>
> Пока поставил костыль в виде rewrite этих больших файлов непосредственно
> на апач на 8000 порт - но это некрасиво и не секурно.
> Помогите плиз.
Правильно ли я понимаю, что вариант с
proxy_buffering off;
не работает ? А какие настройки таймаутов ?
Попробуйте
proxy_buffering on; # default
proxy_max_temp_file_size 0;
--
Игорь Сысоев
http://sysoev.ru
More information about the nginx-ru
mailing list