У меня настроен 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 mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru