当前位置:   article > 正文

connect() failed (111: Connection refused) while connecting to upstream问题处理

connect() failed (111: connection refused) while connecting to upstream

一、【问题描述】

今天巡检Web服务器时,发现Nginx的error日志里,有许多报错信息,其中有一条如下显示:

[error] 2334#2334: *253268 connect() failed (111: Connection refused) 
while connecting to upstream, client: 172.12.23.44, server: 212.65.12.29, 
request: "OPTIONS /yun//sys/menu/nav?t=1583288052697 HTTP/1.1", 
upstream: "http://127.0.0.1:8060/yun/sys/menu/nav?t=1583288052697",
host: "212.65.12.29:8002", referrer: "http://39.107.238.105/yun-web/"
  • 1
  • 2
  • 3
  • 4
  • 5

二、 【日志分析】

上述报错信息,表明172.12.23.44该地址请求平台资源时,转到后台127.0.0.1:8060上去了,请求客户端外网地址212.65.12.29:8002,即请求8002端口转发到后端的8060端口上去了,资源路径为/yun-web/,而日志中报请求资源时,无法连接;

问题可能有以下原因:

1)服务端口8060不通,前端web服务器到后台业务应用服务之间信息不通;可telnet ip 端口,来验证;确认网络通信正常,ip端口监听正常。
2)nginx配置文件中proxy_pass 地址配置有误,无法找到后端服务器;
3)查看web服务器socket是否正常启动:netstat -lnp|grep 8002(对外web服务端口);是否存在端口冲突;
4)如果日志中upstream后有fastcgi://或uwsgi://这样的信息,请检查php-fpm和uwsgi服务是否正常启动,检查php-fpm.conf配置文件pm.max_children最大线程数/队列数是否配置过小,适当调大后重试;另外检查fastcgi_pass的配置是否正确,/usr/local/php/sbin/php-fpm start;(一般常用nginx的话不会用php,该步骤可忽略),当然如果你的nginx里配置了php,可检查php的location配置,注意fastcgi_pass 是否配置正确,
5)检查location中的allow选项配置,排除权限问题;(一般如果之前正常,该问题几乎可忽略);如果nginx配置文件中有ALLOWED_HOSTS配置,可按如下:ALLOWED_HOSTS = ['服务器外网ip', '域名', '127.0.0.1'] 进行配置;

三、【问题处理】

我的现场实际是,nginx配置文件中的后台服务配置为了127.0.0.1,原先是单机部署,后已业务扩展改造为前后端分离,而该地址未改变,故本地无法请求到后端服务,将该地址修改为后端转发upstream的名称后,重启nginx正常。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/148387?site
推荐阅读
相关标签
  

闽ICP备14008679号