nginx enruta el tráfico desde la ip en la ruta a la ip local

nginx enruta el tráfico desde la ip en la ruta a la ip local

Estoy intentando enrutar el tráfico desde un nginx a una IP específica, correspondiente a una ruta.

Básicamente, si estoy accediendo http://example.com/192.168.0.2/something, quiero redirigir el tráfico al pod con esa IP específica (el resultado debería ser https://192.168.0.2/something).

Probé esto (y múltiples variaciones) pero no 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;
}

Incluso probé una versión estática (y múltiples variaciones) como la siguiente

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

¿Hay alguna manera de lograr esto?

Respuesta1

No entiendo cómo se corresponde tu configuración con tu pregunta (veo el único backend con la dirección IP estática 192.168.219.174), tal vez te refieres a 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;
}

información relacionada