nginx/1.13.4 64bit под CentOS7. Редко, но регулярно выдаёт ошибку "cache file ... has too long header"
Прочёл всё, что написано по данному поводу: 1) https://forum.nginx.org/read.php?21,243579,243589#msg-243589 2) http://nginx.2469901.n2.nabble.com/cache-file-has-too-long-header-bug-td7594976.html proxy_buffer_size установлен в 8k и не менялся несколько месяцев. Сайтов кэшируется много, все настройки у всех одинаковые, но почти все ошибки происходят только у одного, причём не самого нагруженного. На некоторых файлах - больше одного раза, т.е. вариант со старыми кэш-файлами, созданными с другим proxy_buffer_size, отпадает. Служебный заголовок с заголовком HTTP-ответа во всех файлах занимают меньше килобайта, проверял командой: find /home/.nginx/cache/.edge/user98023/ -type f -printf "%p " -exec perl -e 'my $len = 0; while(<>) { last if /^[\r\n]*$/; $len += length } print "$len, $.\n"' '{}' ';' Вопросы: 1) race condition при одновременном обновлении-чтении кэш-файла несколькими воркерами ещё не побеждён? В данный момент это наш единственный подозреваемый. 2) Какие данные имеет смысл дополнительно распечатывать в http://hg.nginx.org/nginx/file/tip/src/http/ngx_http_file_cache.c#l578 для диагностики, кроме h->body_start и c->body_start? К сожалению, ошибка происходит только на загруженных production, которые мало подходят для экспериментов. Posted at Nginx Forum: https://forum.nginx.org/read.php?21,276273,276273#msg-276273 _______________________________________________ nginx-ru mailing list [email protected] http://mailman.nginx.org/mailman/listinfo/nginx-ru
