nginx proxy_pass apenas no nome de host específico

1

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

    
por PhilippeK 13.04.2018 / 14:41

0 respostas