1. 首页
  2. 系统运维
  3. Linux

记Nginx反向代理报upstream prematurely closed connection while reading upstream错误处理一例

今天我把一台nginx反向代理从阿里云迁移到腾讯云,一样的配置。但是迁移后就一个js文件打开时就会报错,其他都没问题。出错的这个js文件大概有2兆左右,查看nginx错误日志,发现错误信息类似如下:

2022/12/09 10:40:24 [error] 11988#11988: *585 upstream prematurely closed connection while reading upstream, client: 39.185.98.49, server: blog.nbqykj.cn, request: "GET /pve2/ext6/ext-all.js HTTP/2.0", upstream: "https://1.2.3.4/pve2/ext6/ext-all.js", host: "blog.nbqykj.cn"

这个错误说明上游服务器在Nginx反代服务器在请求没结束前关闭了连接,那么查看nginx配置,超时配置我也都设置成了300秒。

client_max_body_size 50m;
proxy_connect_timeout  300s;
proxy_read_timeout  300s;
proxy_send_timeout  300s;

因为反代的是https,ssl证书是不可信任的自建证书,所以nginx配置里需要加上下面一段,但最后确定还是不行。

proxy_ssl_verify off;

到这里,感觉问题就有点奇怪了,和反代的nginx配置应该没多大关系了。所以我觉得还是要从服务器上找问题,好在一开始就发现了问题,就差最后的抓包。。。

我先用curl命令在服务器上请求了原服务器的这个地址,发现返回的内容也不是全部。好家伙,这里就中断了。

记Nginx反向代理报upstream prematurely closed connection while reading upstream错误处理一例

看样子是上游服务器在请求超时后关闭了连接,算了下时间大概是30秒,无奈那台服务器我没法修改配置。上游服务器机房是在欧洲,看来国际出口网络方面腾讯云国内机房还是比阿里云网络差点。

最后临时我就再加了一台香港的反向代理,用户->腾讯云国内->阿里云香港->欧洲机房,访问出错问题不出意外解决。

联系我们

0574-55011290

QQ:248687950

邮件:admin@nbhao.org

工作时间:周一至周五,9:00-18:00,节假日休息

QR code