[英]Nginx - Different proxy pass based on IP ranges
我有一個案例,我需要在Nginx中進行不同的代理傳遞,具體取決於客戶端IP地址所屬的CIDR。
所以,例如,假設我有以下CIDR:
10.50.0.0/16
10.51.0.0/16
10.52.0.0/16
每個客戶端地址都需要在Nginx中具有不同的proxy_pass。 我該怎么做呢? 我對Nginx很新,所以實現這樣的事情仍然有點令人困惑。
你可以使用Geo模塊 。 您的配置看起來有點像這樣:
geo $upstream {
default default_upstream;
10.50.0.0/16 some_upstream;
10.51.0.0/16 another_upstream;
}
upstream default_upstream {
server 192.168.0.1:80;
}
upstream some_upstream {
server 192.168.0.2:80;
}
upstream another_upstream {
server 192.168.0.3:80;
}
server {
...
location ... {
...
proxy_pass http://$upstream;
}
...
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.