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

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;
} 

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

решение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;
}

Связанный контент