Два proxy_pass по очереди.
Serge Negodyuck
petr на petrovich.kiev.ua
Ср Сен 29 14:04:27 MSD 2010
Привет!
nginx version: nginx/0.7.67
built by gcc 4.4.3 (Ubuntu 4.4.3-4ubuntu5)
configure arguments: --with-http_stub_status_module
--with-http_gzip_static_module
Что нужно - отправить запрос на один бекэнд директивой proxy_pass в
случае 404 отправить на другой.
Конфиг:
upstream fastproxy {
server 127.0.0.1:8099;
}
upstream general {
server 127.0.0.1:8200;
}
server {
listen 192.168.10.3:80;
location / {
proxy_pass http://fastproxy;
error_page 404 = @general;
}
location @general {
proxy_pass http://general;
}
}
upstream ips как правило возвращает 404. И хотелось бы, чтобы запрос
дальше передавался на upstream general. Но в браузере получаем 404.
В error log (notice) ничего.
В access log 404 а пара $proxy_host:$proxy_port - адрес fastproxy
Не помогает даже:
error_page 404 =200 @general;
Пробовал так:
location / {
try_files @fastproxy @general;
}
location @fastproxy {
proxy_pass http://fastproxy;
}
location @general {
proxy_pass http://general;
}
В этом случае запрос всегда уходит на general минуя fastproxy.
Подробная информация о списке рассылки nginx-ru