Welcome! Log In Create A New Profile

Advanced

При докачках(206) nginx отдает данные с начала файла

December 11, 2010 07:31PM
Linux x86
nginx version: nginx/0.8.53

Ключевые моменты конфигурации:

perl_require files.pm;

location /f {
perl files::download;
}

Скрипт проверяет наличие файла на файловой системе, права доступа к файлу, после чего выполняет внутренний редирект:

$r->allow_ranges;
$r->header_out('Content-Length', $file_size);
$r->send_http_header("$mime");
$r->internal_redirect($internal_redirect_link);
return OK;

Качаю с обрывами wget-ом с ключом "-c", файл получается правильным(совпадает md5sum с оригиналом).
Качаю Firefox-ом, также с обрывами, файл также скачивается, размер правильный, но при каждом последующем запросе за очередным куском файла, nginx возвращает начальную часть файла, хотя в ответе указывает правильные range и отдаваемый размер.

Сделал tcpdump, сравнил запросы от wget и Firefox. Заметил, что Firefox шлет еще условие If-Range и еще вот это в заголовке перед указанием Range:
X-REMOVED:.Range

nginx честно отдает 206-й статус (в логе кстати пишет 200).

Если надо, могу выложить дамп обмена.
Subject Author Posted

При докачках(206) nginx отдает данные с начала файла

nickolay December 11, 2010 07:31PM

Re: При докачках(206) nginx отдает данные с начала файла

Pavel V. December 16, 2010 02:56PM

Re: При докачках(206) nginx отдает данные с начала файла

nickolay December 18, 2010 03:52PM

Re: При докачках(206) nginx отдает данные с начала файла

Dmitry Dedukhin December 20, 2010 12:40AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 255
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready