Привет! Подскажите, пожалйста, как сделать перенаправление с одного сервера (в случае возвращения ошибки) на другой. Есть 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. Что нужно прописать, чтобы этот запрос перенаправился на другой апстрим?