id,summary,reporter,owner,description,type,status,priority,milestone,component,version,resolution,keywords,cc,uname,nginx_version 2029,"Cache miss due to ""cache file .. has too long header"" when using ""Vary""",João Salavessa,,"There are some cases when ""Vary"" header is present and it changes value in a consequent call then a perfectly valid newly updated cache file (e.g. from a MISS) can trigger another MISS on the next exact same call due to ""cache file .. has too long header"" check. Attached ""nginx.conf"" and ""test-cases.sh"" which contains description of issue and functions with call sequences that consistently reproduce the issue (tested on the current latest nginx versions 1.18.0 and 1.19.2): - the ""returnVary"" req header asks the server to return the request header value as Vary response header value - the ""xtra"" req header header asks the server to include a ""Xtra"" response header with the respective value To execute attached test cases just start a local nginx using the attached ""nginx.conf"" file and: {{{ # test cases execution: ""loop"" executes function in first argument, 4 times with 3s sleep between each (nginx.conf cache TTL is 5s) # source test case functions . ./test-cases.sh # execution command examples loop tc1 #not ok loop tc2 #not ok loop tc3 #ok loop tc4 #ok loop tc5 #ok tc3_5; sleep 6; tc4_5 #not ok }}} ",defect,closed,major,,nginx-module,1.19.x,fixed,proxy cache vary,João Salavessa,Linux nginx-54959fc7bf-ncmrh 4.19.114 #1 SMP Mon Aug 3 12:35:22 PDT 2020 x86_64 Linux,"nginx version: nginx/1.19.2 built by gcc 9.3.0 (Alpine 9.3.0) built with OpenSSL 1.1.1g 21 Apr 2020 TLS SNI support enabled configure arguments: --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/a ccess.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --http-client-body-temp-path=/var/cache/nginx/client_temp --http-proxy-temp-path=/var/cache/nginx/proxy_temp --http-fastcgi-temp-path=/var/cach e/nginx/fastcgi_temp --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp --http-scgi-temp-path=/var/cache/nginx/scgi_temp --with-perl_modules_path=/usr/lib/perl5/vendor_perl --user=nginx --group=nginx --with-compat - -with-file-aio --with-threads --with-http_addition_module --with-http_auth_request_module --with-http_dav_module --with-http_flv_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_mp4_module --with-http_random_index_module --with-http_realip_module --with-http_secure_link_module --with-http_slice_module --with-http_ssl_module --with-http_stub_status_module --with-http_sub_module --with-http_v2_module - -with-mail --with-mail_ssl_module --with-stream --with-stream_realip_module --with-stream_ssl_module --with-stream_ssl_preread_module --with-cc-opt='-Os -fomit-frame-pointer' --with-ld-opt=-Wl,--as-needed"