Welcome! Log In Create A New Profile

Advanced

memcached_pass, proxy_pass, error_page

Костенко Евгений
September 16, 2009 10:00AM
Добрый день.

Схема следующая есть 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 дело не
доходит.
Полистал архив рассылки, порылся в гугле - ответа не нашел.

Подскажите пожалуйста, где я промахнулся?

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

моб: +7(928)2961142
icq: 101241013
jabber: nobody.mail@gmail.com
Subject Author Posted

memcached_pass, proxy_pass, error_page

Костенко Евгений September 16, 2009 10:00AM

Re: memcached_pass, proxy_pass, error_page

Maxim Dounin September 16, 2009 10:26AM

Re: memcached_pass, proxy_pass, error_page

Костенко Евгений September 16, 2009 10:50AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 325
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready