nginx 标签

记一次线上Nginx响应超时问题 有更新!

  |   0 评论   |   0 浏览

项目背景 线上有两个项目,分别为 tomcat 项目 A,以及一个 SpringBoot 项目 B,项目 A,使用 Nginx 代理转发。 问题描述 从 A 项目中上传一个 30 秒的视频,通过 HTTP 上传到 B 项目中使用 FFmpeg 对其进行一系列解析等动作,然后返回视频的 CDN 地址。 由于此操作过程一般会耗时 5-6 分钟,在本地和测试环境将 http 请求的超时时间 sockettimeout 设置为 10 分钟,可以正常使用。 但是在生成环境下却发现有时能上传成功,有时却不行。 解决 经过多次测试发现,每次上传失败的处理时长大概都是 5 分钟,由于 HttpClient 代码里面默认设置的是 5 分钟,所以一直导致我认为是修改的配置没有生效。最后修改源码,将超时时间默认值改成 20 分钟,发现还是在 5 分钟左右就报错。 这个时候就可以确定肯定是有其他地方有个 5 分钟设置超时时间导致的。然后跟运维的同事一起分析了下 nginx 配置,发现有个 proxy_read_timeout=300s 的设置,这个时候基本上就已经定位问题原因了。 为了确定问题先在没改配置的时候使用 ip 地址访问上传视频,最后正常处理。然后修改配置为 10 分钟,通过域名访问,结果跟预....