при изменении static файла nginx отдает мусор (BUG?)

neomaq nginx-forum на forum.nginx.org
Ср Окт 11 16:56:49 UTC 2017


Ubuntu 16.04
nginx -v 1.12.1

При изменении static файла nginx отдает мусор несколько секунд


имеем  тривиальный location:

location ~
\.(jpg|jpeg|gif|png|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|wav|bmp|rtf|js|ico|swf|xml|mp3|html|svg)$
        {
        root   /var/www;
        etag on;
        }

меняю текстовый файл,  расположенный в в данном location
и наблюдаю следующую картину:

по http заголовкам видно, что первые 5-15 секунд скачет вперед-назад во
времени заголовок "Last-Modified"
и "Content-length" и "Etag"

как будто nginx отдает разные файлы,  через несколько секунд это
прекращается и nginx отдает корректный файл,
с правильным содержимым


проверял в real time следующим образом:

с соседнего хоста каждые 0.5 секунды выводил результат прямого коннекта на
порт:

nc testserver 80 < in.txt


in.txt: 
GET /test.txt HTTP/1.1
HOST:  blablahost
-----------------------------


при 300-500 rps  клиенты успевают нахватать некорректных js/css файлов, что
ломает отображение сайта во время деплоя



для наглядности записал минутную gif'ку

https://drive.google.com/open?id=0B7WRF7P_dq4gcFEyTWljNElfeGs

обратите внимание как скачет "Content-length" и "Etag"

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



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