memcached_pass, proxy_pass, error_page
Костенко Евгений
nobody.mail at gmail.com
Wed Sep 16 17:49:18 MSD 2009
Добрый день.
Схема следующая есть 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 at gmail.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://nginx.org/pipermail/nginx-ru/attachments/20090916/d5ae76e5/attachment.html>
More information about the nginx-ru
mailing list