【发布时间】:2023-03-14 19:25:01
【问题描述】:
在过去的几天里,我一直在努力解决负载平衡问题,但遇到了一些障碍。我以为我已经正确设置了所有内容,但似乎我仍然通过我的主服务器获得了几乎所有的流量,而我设置的权重应该是 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 站点配置在负载均衡器之前提供;我不知道如何解决这个问题。
【问题讨论】:
标签: nginx server load-balancing