memcached_pass, proxy_pass, error_page

Костенко Евгений nobody.mail at gmail.com
Wed Sep 16 18:35:11 MSD 2009


Хмм ... проглядел, сорри.

Проверил - все забегало должным образом. Спасибо!

16 сентября 2009 г. 18:17 пользователь Maxim Dounin <mdounin at mdounin.ru>написал:

> Hello!
>
> On Wed, Sep 16, 2009 at 05:49:18PM +0400, Костенко Евгений wrote:
>
> > Добрый день.
> >
> > Схема следующая есть frontend и два backend'а. Попытка c помощью 0.7.62
> > изобразить следующее:
> >
> > # на уровне http декларирован upstream, используемый далее
> >
> >     upstream  backends  {
> >         server   server1.domain.tld weight=4;
> >         server   server2.domain.tld weight=4;
> >         #server   127.0.0.1 weight=2;
> >     }
> >
> > # Мелкие файлы пытаемся найти в memcached. Не нашли - по error_page 404
> идев
> > в @try_backends .
> >
> >        location ~* ^.+\.(css|js|ico|gif|png|jpeg|jpg)$ {
> >             set $memcached_key "$host$uri";
> >             memcached_pass     memcached;
> >
> >             error_page 404  =  @try_backends;
> >         }
> >
> > # В location прописан upstream backends, состоящий из тех самых бэкендов.
> >
> >       location @try_backends {
> >             proxy_pass  http://backends;
> >             proxy_redirect     off;
> >             proxy_set_header   Host             $host;
> >             proxy_set_header   X-Real-IP        $remote_addr;
> >             proxy_set_header   X-Forwarded-For
>  $proxy_add_x_forwarded_for;
> >             proxy_next_upstream  http_404;
> >             proxy_intercept_errors on;
> >
> >             if ($uri ~* \.(css|js|ico)$) { expires 1d; }
> >             if ($uri ~* \.(jpg|jpeg|gif|png|ico)$) { expires 1d; }
> >             error_page 404  =  @fallback;
> >
> >             access_log          off;
> >         }
> >
> > # Если и тут error_page 404 - идем в @fallback, где собственно root
> > /some/path/
> >
> >        location @fallback {
> >             if ($uri ~* \.(css|js|ico)$) { expires 1d; }
> >             if ($uri ~* \.(jpg|jpeg|gif|png|ico)$) { expires 1d; }
> >
> >             root        $root_path;
> >             access_log          off;
> >         }
> >
> > #Все сие счатье инклюдится в каждый vhost следующим образом
> >
> >    server {
> >         listen       xx.xx.xx.xx:80;
> >         server_name  www.domain.tld domain.tld;
> >
> >         access_log /var/log/nginx/domain.tld.access.log  main buffer=1m;
> >
> >         set $root_path   /some/path/vhosts/domain.tld/public_html;
> >         include        /usr/local/etc/nginx/common/*.conf;
> >     }
> >
> > Фокус не удается - memcached и backend'ы проверяются, до fallback дело не
> > доходит.
> > Полистал архив рассылки, порылся в гугле - ответа не нашел.
> >
> > Подскажите пожалуйста, где я промахнулся?
>
>
> http://sysoev.ru/nginx/docs/http/ngx_http_core_module.html#recursive_error_pages
>
> Maxim Dounin
>
>


-- 
С Уважением,
Костенко Евгений

моб: +7(928)2961142
icq: 101241013
jabber: nobody.mail at gmail.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://nginx.org/pipermail/nginx-ru/attachments/20090916/c701a724/attachment.html>


More information about the nginx-ru mailing list