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