[有偿求助] 频繁出现 499 状态码 求运维大佬!

35 天前
EndlessJY  EndlessJY

环境说明: 使用的 GoEdge ,源服务是 Docker 搭建 Emby ,使用 Nginx 反代 CDN 、源主机资源占用不到 10%

问题说明: 频繁出现 499 状态码,导致客户端断开链接 不限于某一个接口,所有 CDN 线路均会出现,没有规则。 客户端是市面比较热门的播放器:Infuse 、Senplayer 、Yamby 基本可以排除手动断开连接的可能

问题解决送 Emby 年卡或 500 米 作为报酬;私信联系我即可! 如果你仅限于简单网站搭建 没有深入了解相关配置的经验 请不要打扰 谢谢! imageimageimage

2578 次点击
所在节点    程序员
18 条回复
JingKeWu
35 天前
GoEdge 499 无法解决
EndlessJY
35 天前
@JingKeWu 怎么说? GoEdge 有 499 的毛病嘛?或许,有可能是宿主机的问题不,因为所有节点都会报 499 ,并非某一个
JingKeWu
35 天前
我们以前也是出现 和作者沟通也解决不了
defunct9
35 天前
去官方看了一下文档:
499 是什么错误?
客户端在发送请求过程中取消请求的时候,会记录一个 499 。

貌似去官方问问好了
drymonfidelia
35 天前
把 HTTP2 关了试下,以前出过这个问题,强制 HTTP1.1 就莫名其妙好了,不过服务不是 Emby
jinliming2
35 天前
有确认单个复现用户的日志吗?
因为有些请求是客户端重复操作,后一个请求发起时主动中断了前一个请求,对实际用户来说可能没感知,对服务端来说就是一个请求在没来得及发响应的时候就中断了,报个异常日志。
如果是这个情况的话,那么现象通常是出现中断异常后同一个客户端会在几毫秒内再次发起请求,请求的资源相同,参数可能相同也可能近似(取决于服务类型),出现的次数一般同一个用户不会在一秒内连续出现多次。

回到楼主的问题,加上截图的日志,感觉像是客户端重复请求这个 Progress 接口,有点符合我说的这个特征?
排查的话,可能针对复现的单个用户,跟踪复现时间点前后一段时间的日志,看看特征。
s270987763
35 天前
先了解 499 原因 ,检查后端服务吧。第一次还未能响应,第二次重试了。当后端返回数据发现前连接没有了,响应码 499
lifei6671
35 天前
499 出现是因为客户端主动断开,一般有两种情况一种是客户端真的自动断开了。还有一种是因为配置的超时时间过短,你的后端程序没有在指定的时间内返回,客户端会因为超时导致断开,此时也会出现 449 。你这个是 CDN 的话可以检查下超时时间配置的是否合理。
chen05
35 天前
limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s;
remote_add 看起来恒定为 cdn 的 ip,那么肯定限流,限流后就请求变慢,超过 cdn 的 request_timeout 就断开,你再返回就 499

如果 cdn 量大的话 会被限流,然后就 499 吧?

$binary_remote_addr 你要设置为 cdn 透传的 header 对应 remote_addr 头
$http_x_forwarded_for
chen05
35 天前
你本地不需要限流,,限流在 cdn 那边限流吧
wangbin11
35 天前
@chen05 你是大佬啊,非常仰慕,让我加个电报好友吧(和作者无关,后续我们也会使用 cdn 想学习一下啊)
snuglove
35 天前
499 不是限流状态码吗。。
coolloves
35 天前
499 客户端不等你响应就主动断开
要么是你太慢,要么是客户太着急
yc8332
35 天前
这种不是有人攻击就是你的请求响应太长了,web 服务器那边等待时间太短就给关了连接。
good758
34 天前
我是运维大佬,我可以。
crayabel
34 天前
分析下 nginx 代理服务器本身操作系统的问题,网络上的端口耗尽、tcp 半连接过多等,什么 ulimit 限制等,看看操作系统日志和 nginx error 日志有没有什么信息
supty
34 天前
499 代表服务端请求还未返回时客户端主动断开连接,加参数
proxy_ignore_client_abort on
EndlessJY
34 天前
@chen05 老哥,辛苦加我下呗
aHR0cHM6Ly90Lm1lL3p6NDIz

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1113639

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX