ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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


  • To: nginx-ru@xxxxxxxxx
  • Subject: При докачках(206) nginx отдает данные с начала файла
  • From: "nickolay" <nginx-forum@xxxxxxxx>
  • Date: Sat, 11 Dec 2010 19:31:08 -0500
  • Dkim-signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mickey.jlkhosting.com; s=x; h=Sender:From:Message-ID:Content-Transfer-Encoding:Content-Type:Subject:To:Date; bh=KEkfvC1ghyLlJSdNncQNymwWSrSUsoS/zIDaGeQJu0I=; b=rw3C+txYFmtULSanc6IyE/Oywljqs889FinXWb9SwLM3IOPh2un0FBJ1HkbyBP3rEEXa5Rn+sBSbdY6wEAahVkCA+U5tZatk/qOU2CZw0nuLFMrigIXWjwfe/J8TxjFs;

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).

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

Posted at Nginx Forum: 
http://forum.nginx.org/read.php?21,157886,157886#msg-157886


_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.