Почему nginx не кэширует мой контент? - PullRequest
5 голосов
/ 24 февраля 2011

Я проверил путь к кешу / usr / local / nginx / proxy_cache. Кэш-файл не найден после того, как я много раз посещаю URL.

Моя конфигурация: 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/*;
}

по умолчанию

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/;
    }

Ответы [ 2 ]

18 голосов
/ 12 июня 2012

nginx не кэширует страницы, которые устанавливают куки, Проверьте, есть ли у ваших страниц заголовок Set-Cookie.

При необходимости файлы cookie можно игнорировать с помощью proxy_ignore_headers и подавлять с помощью proxy_hide_header . Например:

proxy_ignore_headers Set-Cookie;
proxy_hide_header Set-Cookie;
2 голосов
/ 26 февраля 2011

Вы должны включить ведение журнала ошибок, а затем взглянуть на это.У меня была похожая проблема с кешем fastcgi, и проблема заключалась в разрешениях для папки.

...