【nginx】转发请求connect() failed (111: Connection refused) while connecting to upstream

nginx转发请求Connection refused

      • 一、场景:小程序-->nginx(docker部署)-->转发到后端服务
      • 二、nxing转发服务时提示“ Connection refused”
      • 三、解决方案
        • 1、解决方案一
        • 2、解决方案二

一、场景:小程序–>nginx(docker部署)–>转发到后端服务

下面是 nginx 的配置

upstream xian {
        server ip:端口;
}
server {
        listen 80; # 监听的端口,通常是80(HTTP)或443(HTTPS)
        server_name 127.0.0.1; # 该server块服务的域名
        
        location ~ ^(/[^/]*)?/actuator(/.*)?$ {
            return 403;
        }
 
        location / {
            # 配置代理行为
            proxy_pass http://127.0.0.1/xxxxxx; # 使用之前定义的upstream
            
            proxy_set_header Host $host; # 向后端服务器传递Host头
            proxy_set_header X-Real-IP $remote_addr; # 向后端服务器传递真实客户端IP
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # 同上,用于识别客户端的真实IP
            proxy_set_header X-Forwarded-Proto $scheme; # 如果使用SSL,传递协议信息给后端
            proxy_redirect off; # 关闭自动重定向处理,除非你需要Nginx处理重定向
        }
    }


二、nxing转发服务时提示“ Connection refused”

使用过程中提示转发异常

2025/01/07 11:03:15 [error] 11#11: *57 connect() failed
 (111: Connection refused) while connecting to upstream, client: 113.87.236.59, 
server: 127.0.0.1, request: xxxxxxxxxxxxxxxxxx

在这里插入图片描述

三、解决方案

1、解决方案一
1、检查docker中的网络环境
docker-compose.yml 

2、修改网络环境
#host代表使用本机网络
network_mode: "host"

【nginx】转发请求connect() failed (111: Connection refused) while connecting to upstream_第1张图片

2、解决方案二

proxy_pass修改成公网ip

upstream xian {
        server ip:端口;
}
server {
        listen 80; # 监听的端口,通常是80(HTTP)或443(HTTPS)
        server_name 127.0.0.1; # 该server块服务的域名
        
        location ~ ^(/[^/]*)?/actuator(/.*)?$ {
            return 403;
        }
 
        location / {
            # 配置代理行为
            proxy_pass http://公网地址/xxxxxx; # 使用之前定义的upstream
			........
        }
    }


你可能感兴趣的:(nginx,运维)