Nginx

Nginx多網站多公網ip

  • July 20, 2015

我已經部署了帶有架構的平台,其中我有 nginx lb 伺服器雜湊,後面是具有 4 個應用程序的應用程序伺服器。nginx lb server 有如下配置:

上游 example1.com { ip_hash; 伺服器 10.10.10.10;伺服器 10.10.20.10 }

上游 example2.com { ip_hash; 伺服器 10.10.10.11;伺服器 10.10.20.11 }

所以它代理到具有私有 IP 的伺服器。我的問題是每個應用程序如何獲得專用的公共 IP 地址?我的代理伺服器有 4 個 IP 地址,我想將每個地址指向每個應用程序。

謝謝!

這將滿足您的要求

使用以下內容創建以下文件 /etc/nginx/sites-available/domain1.com

upstream backend1 {
ip_hash;

server 10.10.10.10;
server 10.10.20.10;
}

server {
   listen    1.1.1.1:80;
   listen    1.1.1.2:80;
   server_name    www.domain1.com;

location / {  
       proxy_pass http://backend1;
       proxy_set_header Host $host;
       proxy_set_header X-Real-IP $remote_addr;
       proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;    
   }
}

然後製作第二個文件 /etc/nginx/sites-available/domain2.com

upstream backend2 {
ip_hash;

server 10.10.10.11;
server 10.10.20.11;
}

server {
   listen    1.1.1.3:80;
   listen    1.1.1.4:80;
   server_name    www.domain2.com;

location / {  
       proxy_pass http://backend2;
       proxy_set_header Host $host;
       proxy_set_header X-Real-IP $remote_addr;
       proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;    
   }
}

然後執行 ln -s /etc/nginx/sites-available/domain* /etc/nginx/sites-enabled/

引用自:https://serverfault.com/questions/706703