nginx roteia o tráfego do ip no caminho para o ip local

nginx roteia o tráfego do ip no caminho para o ip local

Estou tentando rotear o tráfego de um nginx para um IP específico, correspondente a um caminho.

Basicamente, se estou acessando http://example.com/192.168.0.2/something, quero redirecionar o tráfego para o pod com aquele IP específico (o resultado deve ser https://192.168.0.2/something).

Eu tentei isso (e várias variações), mas não parece funcionar.

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

Eu até tentei uma versão estática (e múltiplas variações) como abaixo

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

Existe alguma maneira de conseguir isso?

Responder1

Não entendo como sua configuração corresponde à sua pergunta (vejo o único backend com o endereço IP estático 192.168.219.174), talvez você queira dizer algo como

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

informação relacionada