nGinx负载均衡不起作用

时间:2018-03-23 07:29:07

标签: nginx server load-balancing

在过去的几天里,我一直试图绕过负载平衡,并且遇到了一些障碍。我认为我已经正确设置了所有内容,但看起来我的主要服务器上的流量几乎仍然是,但我设置的权重应该是1:10发送到主要服务器。

我当前的负载均衡器配置:

upstream backend {
        least_conn;
        server 192.168.x.xx weight=10 max_fails=3 fail_timeout=5s;
        server 192.168.x.xy weight=1 max_fails=3 fail_timeout=10s;
}
server {
listen 80;
  server_name somesite.somesub.org www.somesite.somesub.org;
    location / {
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Forwarded-For $remote_addr;
      proxy_set_header Host somesite.somesub.org;
      proxy_pass http://backend$request_uri;
    }
}
server {
listen 443;
  server_name somesite.somesub.org www.somesite.somesub.org;
    location / {
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Forwarded-For $remote_addr;
      proxy_set_header Host somesite.somesub.org;
      proxy_pass http://backend$request_uri;
    }
}

我当前的网站配置如下:

server {
  listen 192.168.x.xx:80;
  server_name somesite.somesub.org;
  index index.php index.html;
  root /var/www/somesite.somesub.org/html;
  access_log /var/www/somesite.somesub.org/logs/access.log;
  error_log /var/www/somesite.somesub.org/logs/error.log;
  include snippets/php.conf;
  include snippets/security.conf;
  location / {
    #return 301 https://$server_name$request_uri;
  }
}

server {
  listen 192.168.x.xx:443 ssl http2;
  server_name somesite.somesub.org;
  index index.php index.html;
  root /var/www/somesite.somesub.org/html;
  access_log /var/www/somesite.somesub.org/logs/access.log;
  error_log /var/www/somesite.somesub.org/logs/error.log;
  include snippets/php.conf;
  include snippets/security.conf;
  include snippets/self-signed-somesite.somesub.org.conf;
}
~

除了不同的IP地址外,其他配置完全相同。

一个可能或不重要的小细节:其中一个节点托管在负载均衡器的同一台机器上 - 不确定是否重要。

两台机器都有正确的防火墙配置,可以单独访问。

没有错误日志显示任何使用内容。

我能想到的唯一可能的事情就是在负载均衡器之前提供nginx站点配置;而且我不确定如何解决这个问题。

1 个答案:

答案 0 :(得分:0)

再看一下配置并意识到我可以很容易地让负载均衡器上的站点配置监听127.0.0.1并在负载均衡器中的可用服务器之间重新启动。

nGinx配置负载均衡器上的网站侦听localhost:80/443解决了这个问题。