Ich versuche, den Datenverkehr von einem Nginx zu einer bestimmten IP umzuleiten, die einem Pfad entspricht.
Wenn ich zugreife http://example.com/192.168.0.2/something
, möchte ich den Datenverkehr grundsätzlich auf den Pod mit dieser bestimmten IP umleiten (das Ergebnis sollte sein https://192.168.0.2/something
).
Ich habe dies (und mehrere Variationen) versucht, aber es scheint nicht zu funktionieren.
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;
}
Ich habe sogar eine statische Version (und mehrere Variationen) wie unten ausprobiert
location ~* "/test/" {
rewrite "/test/(.*)" /$1 break;
proxy_pass http://192.168.219.174:8080
proxy_set_header Host $host;
}
Gibt es eine Möglichkeit, dies zu erreichen?
Antwort1
Ich verstehe nicht, wie Ihre Konfiguration mit Ihrer Frage zusammenhängt (ich sehe das einzige Backend mit der statischen IP-Adresse 192.168.219.174
), vielleicht meinen Sie so etwas wie
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;
}