我正在嘗試將流量從 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;
}