Назад | Перейти на главную страницу

nginx proxy_pass только на определенном имени хоста

Предлагаю у меня два имени хоста:

fr.xxx.com и de.xxx.com

Я хочу, чтобы все вызовы / api с имени хоста de.xxx.com проксировались на yy.xxx.com

Я пробовал эту директиву:

    if ($host ~ (^de.*)){
    set $doProxy 1;
    }

    if ($request_uri ~ (/api/*)){
    set $doProxy "${doProxy}2";
    }

    if ($doProxy = 12) {
    proxy_pass yy.xxx.com/api;
    }

Но это не работает Я получаю эту ошибку:

nginx: [emerg] proxy_pass не может иметь часть URI в местоположении, заданном регулярным выражением, или внутри именованного местоположения, или внутри оператора if, или внутри блока limit_except

Спасибо за помощь