proxy_buffering off - выключает кэширование

maxes maxes на yandex.ru
Вт Дек 1 21:55:34 MSK 2009


У меня настроен nginx 0.7.64 на работу как transparent proxy для статики.

Если стартовать nginx с  установкой 
 proxy_buffering off;
то структура каталога /usr/local/nginx/cache/ (указан в директиве proxy_cache_path)  не инициализируется.
И при этом nginx не кэширует запросы. 
То есть последовательные одинаковые запросы wget-ом к одному и тому-же статическому объекту каждый раз вызывают появление соотвествующей строки в access логах backend-а.

При установках
  proxy_buffering on;
и рестарте ngixn, запрос в логах backend-а появляется первый раз и при последующих запросах 
статический объект выдается без обращения к backend-у. 

Но я как-то считал что буферизация и кэширование это разные вещи.
Это не так ? В моей схеме нельзя сделать кэширование без буферизации ?

p.s
nginx.conf:

worker_processes  8;
events {
        use    epoll;
        worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    access_log      off;
    error_log       logs/error.log notice;
    sendfile        on;
    keepalive_timeout  45;
    keepalive_requests 200;
    client_max_body_size 80m;
    server_tokens off;
    proxy_redirect off;
    proxy_cache_min_uses    1;
    proxy_cache_path  /usr/local/nginx/cache  levels=1:2   keys_zone=zone1:10m inactive=20m;
    proxy_temp_path /usr/local/nginx/tmp_cache;
    proxy_cache_valid  200 5m;
    proxy_cache_key  "$scheme|$request_method|$host|$request_uri|$http_cookie|$remote_user";

# critical section 
proxy_buffering off;
#proxy_buffer_size 8k;
#proxy_buffers 64 4k;
#

    resolver_timeout   20s;
    server {
        listen       1234;
        server_name  _;
        resolver        xxx.xxx.xxx;
        proxy_set_header        Host    $host;
        proxy_set_header        X-Real-IP $remote_addr;
        proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
        location ~* \.(jpg|jpeg|gif|css|bmp|js|ico|png)$ {
                proxy_pass      http://$host$request_uri;
                proxy_cache     zone1;
                proxy_cache_valid  200 301 302 304 20m;
        }
        location / {    
                proxy_pass      http://$host$request_uri;
                proxy_cache     off;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}



Подробная информация о списке рассылки nginx-ru