ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: 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_404


  • To: nginx-ru@xxxxxxxxx
  • Subject: proxy_cache и proxy_next_upstream http_404
  • From: Dmitry Sukhodoyev <raven428@xxxxxxxxx>
  • Date: Tue, 11 Aug 2009 21:50:23 +0600
  • Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:date:message-id:subject :from:to:content-type; bh=8RMarrlXMOQeJ5WcL47jh8OCD9Wy+lxw7hw9LhqT5CU=; b=e9gbccws4iVmV6TFBd1hiE1qlg3kGI//YhXBvTAMxh9Jn7Zkhd6PkQmFVgjuCa9339 vNknn/TjpyG+1aKPnvkOLoHO5eLwH07KCXzrR8ut2vo5RgJErSDE6ZCcytPZqDprge8N KrMQEokaV6qYen7LJ9K63WYDNO3XHh0RmQKgs=
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:content-type; b=uwQXqM1/3wl+wpSBZ5HF4qF0GwOo2rnvgT5HdC6ozENSWDmPrIeMPh/YDYIXkvNuJr mtiRKPR5xDsWMLBsM8Ee0TeWud5R4fX17wYrsTBcCgqPFPuizU3AVwUjYT3ETjk811t4 53+Jq8h80biaJtsKjz4ZzHrFLtkQFRC3GTMe4=

есть вот такой конфиг. запрашиваем с 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;
  }
 }
=== кусь ===



 




Copyright © Lexa Software, 1996-2009.