Why doesn't nginx cache my content?

I checked the cache path / usr / local / nginx / proxy _cache. The cache file was not found after visiting the same URL multiple times.

My configuration: ngnix.conf

http { include /etc/nginx/mime.types; default_type application/octet-stream; access_log /var/log/nginx/access.log; sendfile on; #tcp_nopush on; #keepalive_timeout 0; keepalive_timeout 65; tcp_nodelay on; client_body_buffer_size 512k; proxy_temp_file_write_size 128k; proxy_temp_path /usr/local/nginx/proxy_temp; proxy_cache_path /usr/local/nginx/proxy_cache levels=1:2 keys_zone=content:20m inactive=1d max_size=100m; gzip on; include /etc/nginx/conf.d/*.conf; include /etc/nginx/sites-enabled/*; } 

default

 server { listen 80; server_name 208.115.202.87; location /test { proxy_cache content; proxy_cache_key $host$uri$is_args$args; proxy_cache_valid 200 15m; proxy_pass http://aaa.com/; } 
+4
source share
2 answers

nginx does not cache pages that set cookies. Check if your pages have a Set-Cookie header.

If necessary, cookies can be ignored with proxy_ignore_headers and suppressed with proxy_hide_header . For instance:

 proxy_ignore_headers Set-Cookie; proxy_hide_header Set-Cookie; 
+18
source

You must enable error logging and then take a look at this. I had a similar problem with fastcgi cache, and the problem was in the permissions on the folder.

+2
source

Source: https://habr.com/ru/post/1341088/


All Articles