Обрыв соединения после 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