на API1 приходит POST запрос с бэк сервера, который необходимо обработать, бэк сервер умеет посылать реквест только на 1 сервер.
Как я могу средствами nginx обработать запрос локально (на API1), и в этот же момент запроксипасить его на API2 сервер для аналогичного процессинга?
Следующий конфиг не помог решить проблему, на удаленный сервер запросы не пробрасываются (телнет по порту есть, курлом по запросу получаю 200), а обрабатывается всегда фолбэк сценарий только локально:
location /api {
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_pass http://10.29.11.58:80$path?$query_string;;
try_files $uri @local_processing;
}
location @local_processing {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $host;
set $path $uri;
proxy_pass http://127.0.0.1:80$path?$query_string;
proxy_pass && try_files директивы контент фазы, работать будет только одна. В вашем случае можно попробовать сделать локейшен прослойку для запроса API1 с проксированием в локейшен, который будет обрабатывать запрос, и в этой же прослойке добавить mirror, который будет отправлять второй запрос
mirror?
Обсуждают сегодня