$upstream_addr contains name of upstream

Igor Sysoev igor на sysoev.ru
Вт Дек 15 12:44:36 MSK 2009


On Mon, Dec 14, 2009 at 03:53:29PM -0800, Konstantin Svist wrote:

> On 12/14/2009 05:21 AM, Sergey A. Osokin wrote:
> > Добрый день,
> >
> > On Sun, Dec 13, 2009 at 02:12:56PM -0800, Konstantin Svist wrote:
> >    
> >> upstream redisxxx {
> >>    server unix:/tmp/redis-http-cache.sock;
> >>    server localhost:6381;
> >>    server localhost:1111;
> >> }
> >> server {
> >>    location / {
> >>      ...
> >>      redis_pass redisxxx;
> >>      error_page 404 500 502 504 = @real-backend;
> >>    }
> >>    location @real-backend {
> >>      proxy_pass http://backend
> >>      proxy_set_header lastcache $upstream_addr;
> >>    }
> >> }
> >>
> >> localhost:1111 порт закрыт; два других одинаковый сервер, всегда
> >> возвращают 404
> >>
> >> 3 запроса на backend показывают header:
> >> Lastcache: unix:/tmp/redis-http-cache.sock    ~правильно
> >> Lastcache: 127.0.0.1:1111, 127.0.0.1:6381     ~правильно
> >> Lastcache: redisxxx                           ~глюка
> >>      
> > есть возможность реализовать такую же конфигурацию, но на memcached?
> > Будет ли проявлятся ошибка?
> >
> >    
> 
> Попробовал - memcached возвращает 404 когда ключ не найден 
> ($upstream_status), и имя upstream-а не появляется в $upstream_addr

Если не появляется, то это ошибка.

> redis отвечает 502 на случай когда ключ не найден


-- 
Игорь Сысоев
http://sysoev.ru



Подробная информация о списке рассылки nginx-ru