Привет! Подскажите, пожалйста, как сделать перенаправление с одного сервера (в случае возвращения ошибки) на другой. Есть nginx и сервера Oracle Service Bus (OSB). Конфигурация примерно выглядит так:
есть апстримы с серверами:
upstream backend_s1 {
server сервер1:3010;
server сервер2:3010;
upstream backend_s2 {
server сервер2:3010;
server сервер3:3010;
Есть локейшены:
location ~ /gateway/services/(SID0000010|SID0003928|SID0003929|SID0003930|SID0003931|SID0003932) {
proxy_read_timeout 60s;
set $var «$request_method?$args»;
if ($var ~* ^GET\?wsdl(=)?) {
rewrite ^/(.*)$ /$1/wsdl? permanent;
}
ляляляляля
proxy_pass http://backend_s1;
proxy_redirect off;
location ~ /gateway/services/(SID0000010|SID0003928|SID0003929|SID0003930|SID0003931|SID0003932) {
proxy_read_timeout 60s;
set $var «$request_method?$args»;
if ($var ~* ^GET\?wsdl(=)?) {
rewrite ^/(.*)$ /$1/wsdl? permanent;
}
ляляляляля
proxy_pass http://backend_s2;
proxy_redirect off;
предположим что на первый локейшен приходит запрос, на него возвращается ошибка со статусом 500. Что нужно прописать, чтобы этот запрос перенаправился на другой апстрим?


