proxy_cache и proxy_next_upstream http_404
Dmitry Sukhodoyev
raven428 at gmail.com
Tue Aug 11 19:50:23 MSD 2009
есть вот такой конфиг. запрашиваем с 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;
}
}
=== кусь ===
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://nginx.org/pipermail/nginx-ru/attachments/20090811/eced994b/attachment.html>
More information about the nginx-ru
mailing list