写点什么

解决 nginx 配置负载均衡时 invalid host in upstream 报错

作者:北桥苏
  • 2023-05-09
    广东
  • 本文字数:771 字

    阅读完需:约 3 分钟

当前平台: windows


nginx 版本: 1.11.5


前言: 在配置负载均衡时,同时也需要设置反向代理,当修改了 nginx.conf 时,发现 nginx 服务无法开启。


  1. 打开"nginx/logs/error.log",查看最新的错误日志, invalid host in upstream


红色: 后端服务器的主机无效,蓝色: 主机地址: http://192.168.29.128 绿色: 错误行数在 nginx.conf 的 55 行。 大概的也就出来了,就是设定负载均衡服务器的 128 主机无法访问,或者拒绝访问等等。


  1. 查看设定负载均衡服务器列表的地方

upstream webservers {server http://127.0.0.1 weight=10;server htpp://192.168.29.130 weight=10;}
复制代码


3. 查看虚拟服务器 vhosts.conf 的配置

server {        listen       80;        server_name  www.bjy.com www.bjy.com;        root   "D:\set-soft\phpstudy2018\PHPTutorial\WWW\baijunyao-bjyadmin";		location / {            proxy_pass   http://webservers;            proxy_set_header X-Real-IP $remote_addr; #后端的Web服务器可以通过X-Forwarded-For获取用户真实IP            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;        }		        location ~ \.php(.*)$ {            fastcgi_pass   127.0.0.1:9000;            fastcgi_index  index.php;            fastcgi_split_path_info  ^((?U).+\.php)(/?.+)$;            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;            fastcgi_param  PATH_INFO  $fastcgi_path_info;            fastcgi_param  PATH_TRANSLATED  $document_root$fastcgi_path_info;            include        fastcgi_params;        }}
复制代码


4. 发现反向代理的 proxy_pass 里和负载均衡服务器列表都带了 http://,而 webservers 就已经代表了服务器列表中的一个,所以只需在列表中的地址去除 http://就可以。




用户头像

北桥苏

关注

公众号:ZERO开发 2023-05-08 加入

专注后端实战技术分享,不限于PHP,Python,JavaScript, Java等语言,致力于给猿友们提供有价值,有干货的内容。

评论

发布
暂无评论
解决nginx配置负载均衡时invalid host in upstream报错_nginx_北桥苏_InfoQ写作社区