Hello! On Wed, Jan 01, 2014 at 10:37:09PM -0500, S.A.N wrote:
> Заметили очень неприятный баг, в результате которого, клиенты получали > пустую страницу. > > Конфиг кеширования: > > fastcgi_cache_path cache levels=1:2 keys_zone=cache:256m inactive=1d; > > fastcgi_cache cache; > fastcgi_cache_lock on; > fastcgi_cache_revalidate on; > fastcgi_cache_methods GET HEAD; > fastcgi_cache_valid 200 301 302 0s; > fastcgi_cache_key "$host$uri$is_args$args"; > fastcgi_cache_use_stale error updating http_503; > > Воспроизводится баг следующим образом, бекенд при ревалидации отвечает > статусом 304 и в соответсвии с HTTP спецификации, повторно высылает хедеры: > > Last-Modified и Cache-Control: max-age=1. > В данном статусе бекенд отдает только хедеры без body. > Nginx реагирует на хедер Cache-Control, в котором значения max-age больше > нуля и сохраняет данный ответ в свой файл кеша, при условии что файла в кеше > Nginx ещё или уже нет, в нашем случаи это было по причине устаревания кеша > по директиве inactive, Если файла в кеше нет - то откуда взялся ответ 304? -- Maxim Dounin http://nginx.org/ _______________________________________________ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru