Я пытаюсь перенаправить трафик с 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;
}
Есть ли способ добиться этого?
Я не понимаю, как ваша конфигурация соответствует вашему вопросу (я вижу только бэкэнд со статическим 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;
}