Re: [SPAM]proxy_cache и proxy_next_upstream http_404

Alexey V. Karagodov kav at karagodov.name
Thu Aug 13 15:43:44 MSD 2009


возможно стоит попробовать перебирать апстримы не по списку, а через  
error_page ...
и совсем не указывать веса и даже не использовать upstream xxx {}

On 13.08.2009, at 13:03, Dmitry Sukhodoyev wrote:

> есть вот такой конфиг. запрашиваем с 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 <http://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 <http://test.domain.ru>;
> proxy_set_header Host test.domain.ru:9003 <http://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;
> }
> }
> === кусь ===
>






More information about the nginx-ru mailing list