nginx направляет трафик с ip по пути на локальный ip

Я пытаюсь перенаправить трафик с nginx на определенный IP-адрес, соответствующий на путь.

Обычно, если я получаю доступ к http://example.com/192.168.0.2/something , я хочу перенаправить трафик на модуль с этим конкретным IP-адресом (результат должен быть https://192.168.0.2/something ).

Я пробовал это (и несколько вариантов), но, похоже, не работает.

location ~* "([0-9]{0,3}\.[0-9]{0,3}\.[0-9]{0,3}\.[0-9]{0,3})\/(.*)" {
       proxy_pass http://192.168.219.174:8080$uri;
       proxy_set_header Host $host;
}

Я даже пробовал статическую версию (и несколько вариантов) ), как показано ниже

location ~* "/test/" {
       rewrite "/test/(.*)" /$1 break;
       proxy_pass http://192.168.219.174:8080
       proxy_set_header Host $host;
} 

Есть ли способ добиться этого?

0
задан 7 December 2020 в 09:47
1 ответ

Я не понимаю, как ваша конфигурация соответствует вашему вопросу (я вижу только бэкэнд со статическим IP-адресом 192.168.219.174), возможно, вы имеете в виду что-то вроде

location ~* "(?<pod_ip>[0-9]{0,3}\.[0-9]{0,3}\.[0-9]{0,3}\.[0-9]{0,3})(?<route>/.*)" {
    rewrite ^ $route break;
    proxy_pass http://$pod_ip;
}
0
ответ дан 4 December 2020 в 20:22

Теги

Похожие вопросы