А РХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev ][Date Next ][Thread Prev ][Thread Next ][Date Index ][Thread Index ]
proxy_cache и proxy_next_upstream http_40 4
To : nginx-ru@xxxxxxxxx
Subject : proxy_cache и proxy_next_upstream http_40 4
From : Dmitry Sukhodoyev <raven428@xxxxxxxxx >
Date: Thu, 13 Aug 2009 15:03:43 +0600
Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from :user-agent:mime-version:to:subject:content-type; bh=ZOc8Rnc9j05ycHFjl1Wu92Kd0Q/tfnNaK3CnOYCAB3I=; b=l6hnUYyMCiCQx6FFGXTSZ9wnkUcJ15y8xfZZdHcwWWuD5ANyZeGFLM93ryP+4QkxV/ uzfbjZXH1kMZk6Fg+3kEM2Fhd9o2ui1bSMJHBmMnnbFGX7jm6u0bFtm8S6zQCDv/izl9 SUlHpuFaiD9Tm49TO+5k+XL1a9+Mx+y1ZfTM8=
Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:user-agent:mime-version:to:subject :content-type; b=KOHO6H3YCDrSJ+d4Uj/DrIgsjJIR26G8HaJ0ZwJmM3wHa4APiWLPwrf5fOBgVwEdSa wdTnjpTp9aGKGiQ4OkdfCJLOskw+Xvv5PB6E6gbNm31RVBTuQGNbAMIXTfhk+eAAyKlW VNLUwFy9SxylbFb62iZpbPZkQXyAxUGMCuj28=
есть вот такой конфиг. запрашиваем с nginx файл, который есть на apa01
и которого нету на apa02. nginx тыкается в apa02, получает 404 и
забирает файл с apa01. так постоянно, сначала тыкается во второй
бэкэнд, а потом скачивает с первого и отдаёт. если файл разложить по
обоим бэкэндам, то он кешируется и отдаётся уже из кеша.
как правильно сделать, чтобы кешировал файлы, которые есть на одном из
бэкэндов в апстриме и которые нету на остальных?
=== кусь ===
upstream test-apa {
server apa01:9003 weight=1;
server apa02:9003 weight=2;
}
proxy_cache_key $scheme$proxy_host$request_uri;
proxy_cache_min_uses 1;
proxy_cache_valid 1d;
proxy_cache_path /var/tmp/nginx/cache/test levels=1:2
keys_zone=test:20m inactive=1d max_size=1g;
server {
listen 1.2.3.4:80 ;
proxy_next_upstream error timeout http_404 http_500 http_503;
proxy_set_header Connection close;
proxy_set_header X-Forwarded-For $remote_addr;
server_name test.domain.ru ;
proxy_set_header Host test.domain.ru:9003 ;
proxy_redirect http://test.domain.ru:9003/
http://test.domain.ru/ ;
location ~* "\.php$" {
proxy_pass http://test-apa ;
}
location / {
proxy_cache test;
proxy_pass http://test-apa ;
}
}
=== кусь ===