簡體   English   中英

Nginx - 基於IP范圍的不同代理傳遞

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM