Обрыв соединения после TCP keepalive

alex nginx-forum на nginx.us
Ср Мар 16 17:42:44 MSK 2011


Доброго времени суток. 

Ситуация следующая - видеоплеер (например VLC) проигрывает файл по http, все отлично до тех пор пока на плеере не нажимают паузу. Если длительность паузы < 60с то проблем при возобновлении воспроизведения не происходит. Если > 60с, то после возобновления воспроизведения идет проигрывание несколько секунд и плеер останавливается (в логе пишет EOF reached).

В tcpdump-е видно что после возобновления соединения после длительной паузы Nginx шлет какое-то кол-во пакетов с данными (буфер?), затем присылает TCP пакет с флагами FIN, PSH, ACK. 

Пробовал играться опцией keepalive_timeout - не помогло;

Ради эксперимента попробовал проиграть этот файл через Apache - после нескольких минут паузы воспроизведение возобновляется без проблем.

Ситуация наблюдается на разных физических серверах, версии nginx 0.7.67 и 0.8.54, воспроизводится несколькими несколькими плеерами (VLC, ffmpeg based)

Тест:
Nginx http://79.142.194.34/media/ost_mpeg2_mp2a.ts
Apache http://79.142.194.34:88/media/ost_mpeg2_mp2a.ts

Подскажите в какую сторону копать?

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




Подробная информация о списке рассылки nginx-ru