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"