Nginx 反向代理配置多个域名指向不同IP(端口)

如下是服务器部署:

  • 代理服务器 A,安装Nginx
  • web服务器 B 和 C,安装Apache

现在需要配置 nginx.conf 把 b.test.cn 指向 B 服务器,c.test.cn 指向 C 服务器。
nginx.conf关键配置:

...
upstream b_server {
    ip_hash;  
    server 192.168.0.1 weight=1 max_fails=8 fail_timeout=30s;     
}

upstream c_server {
    ip_hash;  
    server 192.168.0.2 weight=1 max_fails=8 fail_timeout=30s;     
}
...

server {
listen       80;
server_name  b.test.cn;

    location / {
        proxy_set_header Host $http_host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Real-Ip $remote_addr;

        proxy_pass http://b_server;
   }
}

server {
listen       80;
server_name  c.test.cn;

    location / {
        proxy_set_header Host $http_host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Real-Ip $remote_addr;

        proxy_pass http://c_server;
   }
}

如上配置,即可实现不同域名反向代理指向不同IP(端口)。

标签: Nginx, 反向代理

添加新评论