记录一次oss上传超时问题


修订表

编号生成版本修订人修订章节与内容修订日期
0010.1老自由创建全文2022-07-13

1. 碰到的问题

  • oss上传文件大小为200M左右的时候报504 time-out
    在这里插入图片描述

2.原因分析

  • 访问路径为:前端(浏览器)——WAF——SLB——NG——(ACK-SLB)——ACK服务——OSS
  • NG上access日志:
118.178.15.67 - - [12/Jul/2022:22:24:53 +0800] “POST /api/image/api/upload/uploadOneFile HTTP/1.1” 200 147 “https://cloud.hzlinks.com/basicData/personalInfo/user“ “Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.60 Safari/537.36” “115.193.191.210” “195.415” 10.50.1.14:30120” “147.636”
  • 配置:
    • NG配置相关:前后端超时时间已配置为10min;在前端主动断开的情况下后端会保持连接。OSS上看是传输成功的;文件上传时间约为:2,5min;
      在这里插入图片描述
      在这里插入图片描述

    • slb:两个SLB是四层监听都已经开启会话保持,且超时时间是900s;

  • 测试环境能够正常上传,正式环境无法上传,代码相同,得到的结果不同,初步判定是配置问题.

3.问题原因

  • 在WAF的错误日志中有显示,详细内容:
upstream timed out (110: Connection timed out) while reading response header from upstream, client: 60.191.37.212, server: default, request: “POST /api/image/api/upload/uploadOneFile HTTP/1.1”, upstream: “https://47.102.156.221:443/api/image/api/upload/uploadOneFile“, host: “cloud.hzlinks.com”, referrer: “https://cloud.hzlinks.com/basicData/personalInfo/user“
  • 原因是WAF在等待源站的响应,但最终等待响应超时(120s),返回WAF给客户端返回504状态码

4.处理方法:

  • 提交阿里云任务单,调整WAF默认超时时间从120s改为600s

版权声明:本文为studymary原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。