Sugerindo que eu tenha dois nomes de host:
fr.xxx.com e de.xxx.com
Eu quero que todas as chamadas para / api do hostname de.xxx.com sejam intermediadas por proxy para yy.xxx.com
Eu tentei esta diretiva:
if ($host ~ (^de.*)){
set $doProxy 1;
}
if ($request_uri ~ (/api/*)){
set $doProxy "${doProxy}2";
}
if ($doProxy = 12) {
proxy_pass yy.xxx.com/api;
}
Mas não funciona, estou recebendo este erro:
nginx: [emerg] "proxy_pass" cannot have URI part in location given by regular expression, or inside named location, or inside "if" statement, or inside "limit_except" block
Obrigado pela sua ajuda
Tags nginx web-server proxypass