при изменении 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