﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc	uname	nginx_version
1888	Nginx cache has multiple formats, and many of them are invalid during cleaning, so it is impossible to clean all of them	yunoasgit@…		"Nginx cache has multiple formats, and many of them are invalid during cleaning, so it is impossible to clean all of them
Nginx / 1.17.3 cleaning cache is invalid, 
The same purge method, no problem compared with nginx / 1.16.0, normal cleaning.


proxy_ignore_headers Accept-Encoding ;


nginx version: nginx/1.17.3
conf:
--------------------------------------------------------------------
        proxy_cache_path /cache/www levels=1:2 keys_zone=wwwcache:500m inactive=7d max_size=1000m;
                location ~ .*\.(xml|htm|html|css|js)(.*) {
                        proxy_pass http://www.xxx.com;
                        proxy_redirect off;
                        proxy_set_header Host $host;
                        proxy_set_header   Connection """";
                        proxy_set_header Accept-Encoding '';
                        proxy_http_version 1.1;
                        client_body_buffer_size 128k;
                        proxy_connect_timeout 60;
                        proxy_send_timeout 60;
                        proxy_read_timeout 60;
                        proxy_buffer_size 32k;
                        proxy_buffers 4 32k;
                        proxy_busy_buffers_size 64k;
                        proxy_temp_file_write_size 64k;
                        proxy_cache wwwcache;
                        proxy_cache_valid 200 302 30m;
                        proxy_cache_valid 301 30m;
                        proxy_cache_valid any 1m;
                        proxy_cache_key $host$uri$is_args$args;
                }
--------------------------------------------------------------------
test run
#1
curl -o /dev/null ""http://www.xxx.com/common/js/jquery.min.js"" -H ""User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36"" -x 10.1.2.3:80

curl -o /dev/null 'http://www.xxx.com/common/js/jquery.min.js' -H 'User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36' -H 'accept-encoding: gzip, deflate, br' -x 10.1.2.3:80

curl -o /dev/null 'http://www.xxx.com/common/js/jquery.min.js' -H 'User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36' -H 'accept-encoding: gzip, deflate' -x 10.1.2.3:80

curl -o /dev/null 'http://www.xxx.com/common/js/jquery.min.js' -H 'User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36' -H 'accept-encoding: gzip' -x 10.1.2.3:80

curl -o /dev/null 'http://www.xxx.com/common/js/jquery.min.js' -H 'User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36' -H 'accept-encoding: deflate, gzip' -x 10.1.2.3:80

curl -o /dev/null 'http://www.xxx.com/common/js/jquery.min.js' -H 'User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36' -H 'accept-encoding: deflate, gzip, br ' -x 10.1.2.3:80


--------------------------------------------------------------------
After six accesses, six cache files are generated
--------------------------------------------------------------------
./6/06/6ba389ade4e2d55d4e66fbb8d99e5066
./0/70/8df2f99ae842a8d7f5d5192da6e39700
./e/dd/2db0e8eef68e05aaa0b9fbb01a7dbdde
./d/09/b829dd1da559e3c80aeaabf58374c09d
./a/c3/547655366b88299921b477dbeeffdc3a
./a/72/61a3eac721aa5d15a14b64630d89172a
--------------------------------------------------------------------


Clean cache in turn
#2
curl -o /dev/null ""http://www.xxx.com/purge/common/js/jquery.min.js"" -H ""User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36"" -x 10.1.2.3:80

curl -o /dev/null 'http://www.xxx.com/purge/common/js/jquery.min.js' -H 'User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36' -H 'accept-encoding: gzip, deflate, br' -x 10.1.2.3:80

curl -o /dev/null 'http://www.xxx.com/purge/common/js/jquery.min.js' -H 'User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36' -H 'accept-encoding: gzip, deflate' -x 10.1.2.3:80

curl -o /dev/null 'http://www.xxx.com/purge/common/js/jquery.min.js' -H 'User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36' -H 'accept-encoding: gzip' -x 10.1.2.3:80

curl -o /dev/null 'http://www.xxx.com/purge/common/js/jquery.min.js' -H 'User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36' -H 'accept-encoding: deflate, gzip' -x 10.1.2.3:80

curl -o /dev/null 'http://www.xxx.com/purge/common/js/jquery.min.js' -H 'User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36' -H 'accept-encoding: deflate, gzip, br ' -x 10.1.2.3:80


--------------------------------------------------------------------
Only one cache was successfully cleaned up, and the other five failed to clean up the cache properly.

ls: cannot access ./a/72/61a3eac721aa5d15a14b64630d89172a: No such file or directory
--------------------------------------------------------------------
The other five are still on disk

 ./6/06/6ba389ade4e2d55d4e66fbb8d99e5066
 ./0/70/8df2f99ae842a8d7f5d5192da6e39700
 ./e/dd/2db0e8eef68e05aaa0b9fbb01a7dbdde
 ./d/09/b829dd1da559e3c80aeaabf58374c09d
 ./a/c3/547655366b88299921b477dbeeffdc3a
--------------------------------------------------------------------

Nginx cleans up cache bugs

Thank you very much.
"	defect	closed	minor		other	1.17.x	invalid				nginx/1.17.3
