Nginx 2网络服务器落后于1个IP

时间:2015-06-29 03:33:26

标签: apache nginx reverse-proxy

我有2个Web服务器和nginx服务器作为反向代理。称他们为web1 web2和nginx1。

  • web1 10.0.0.110 with abc.com,def.com
  • web2 10.0.0.120 with hij.com,klm.com
  • nginx1 10.0.0.125

我试图让2个网络服务器落后于1个外部IP

我在/etc/nginx/conf.d/中什么都没有 我已经为站点中的每个站点创建了conf文件,并使用符号链接将它们链接到启用了站点。

示例文件。

server {
           listen 80;
           server_name *.abc.com;
           access_log off;
           error_log off;
           location / {
              proxy_pass http://10.0.0.110/;
              proxy_redirect off;
              proxy_set_header Host $host;
              proxy_set_header X-Real-IP $remote_addr;
              proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
              proxy_max_temp_file_size 0;
              client_max_body_size 10m;
              client_body_buffer_size 128k;
              proxy_connect_timeout 90;
              proxy_send_timeout 90;
              proxy_read_timeout 90;
              proxy_buffer_size 4k;
              proxy_buffers 4 32k;
              proxy_busy_buffers_size 64k;
              proxy_temp_file_write_size 64k;
           }


}

问题是它无法正常工作,似乎想要将所有网站都指向任一服务器,它似乎依赖于我编辑的最后一个conf文件。

我做错了什么?

2 个答案:

答案 0 :(得分:1)

您需要为每个后端网络服务器提供服务器指令。这是一个应该适合你的例子(用你的附加代替省略号):

server {
  server_name abc.com def.com;
  ...
  location / {
    proxy_pass http://10.0.0.110/;
    ...
  }
}

server {
  server_name hij.com klm.com;
  ...
  location / {
    proxy_pass http://10.0.0.120/;
    ...
  }
}

答案 1 :(得分:0)

我相信我已将其排序,我需要拥有IP集

listen 10.0.0.125:80 

正确设置域名* .abc.com不包含abc.com,它只包含所有子域名。

所以我把它改成了

server_name .abc.com;

只是进行其中一项更改并没有解决我的问题。