我正在尝试将流量从 nginx 路由到与路径相对应的特定 IP。
基本上,如果我正在访问http://example.com/192.168.0.2/something
,我想将流量重定向到具有该特定 IP 的 pod(结果应该是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;
}
有什么方法可以实现这个吗?
答案1
我不明白你的配置如何与你的问题相对应(我看到唯一具有静态 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;
}