当Nginx 444 遇到恶意爬虫

我靠!终于从坑里爬出来了! 涨姿势了,新学了一个名词:TCP 控制风暴! 之前防爬虫,我是 nginx 直接返回 444,结果带宽一直暴涨,始终找不到原因,今天花了大半天,终于解决了。 当 444 遇到恶意爬虫,与触发 TCP控制风暴。 444 状态码有个反直觉的底层深坑: Nginx 返回 444...
当Nginx 444 遇到恶意爬虫
当Nginx 444 遇到恶意爬虫

我靠!终于从坑里爬出来了!

涨姿势了,新学了一个名词:TCP 控制风暴!

之前防爬虫,我是 nginx 直接返回 444,结果带宽一直暴涨,始终找不到原因,今天花了大半天,终于解决了。

:warning:当 444 遇到恶意爬虫,与触发 TCP控制风暴。

444 状态码有个反直觉的底层深坑:
:one:Nginx 返回 444 会触发内核发送 TCP RST 包(有协议头开销)。
:two:爬虫被断连后误以为是网络抖动,会立即疯狂重试 3~5 次。

于是陷入死循环:爬虫请求 ➔ 触发 RST ➔ 疯狂重试 ➔ 再发 RST…… 瞬间产生的 TCP 控制风暴 直接把输出流量放大了数倍,网卡顶满!:broken_heart:

涨姿势了,这一波感谢DeepSeek,国产牛逼! 记录一下,以防后人踩坑。

image
image

3 个帖子 - 2 位参与者

阅读完整话题

来源: LinuxDo 最新话题查看原文