关于我
 

xjpvictor's Blog
小老鼠,上灯台,两只耳朵竖起来

nginx keepalive_timeout 设置问题


各种折腾·linuxsecurityvpsweb

本文最后编辑于超过2260天以前,部分内容可能已经失效

今天服务器不知道是不是被攻击,还是什么,反正 Nginx 的日志里有一堆来访问 12306.cn 的记录。搞得整个服务器 500 了。然后我的守护脚本就傻乎乎的一直重启 Nginx,早上醒来手机上有上百条 Nginx 重启的通知,而且还在不停的增加。

登录服务器,看看连接数,有几百个 IP,每个 IP 也就一两个连接,然后 Nginx 的错误日志里充满了Too many open files的错误。

第一反应,用 IPTables 封 IP。封完了 200 个,又来了 200 个新 IP。在 ipip.net 搜一下,都是腾讯和百度的 IP。好吧,此路不通,他们 IP 多,搞不过他们。

第二反应,IPTables 匹配域名自动 DROP。看看 Nginx,全 HTTPS,无法匹配。好吧,又不行。

怎么办?

仔细想想,为什么有那么多连接一直连着不断开呢。哦,原来是 Nginx 的keepalive_timeout设置太大了。

遇上今天情况,一堆 IP 连上就跑,因为有了 keepalive 设置,所以 Nginx 就保持着一堆连接傻等着,然后就没有然后了。

所以把这种不匹配的域名都设置keepalive_timeout 0;,而且直接return 444;吧。

唉,网络安全。还是修炼不到家啊。

本文 "nginx keepalive_timeout 设置问题" 由 K. Huang 首先发表于 xjpvictor's Blog 并以 CC BY-NC 4.0 许可证发布 © 2018
转载注明引用来源 https://blog.xjpvictor.info/2018/09/issue-with-nginx-long-keepalive-timeout/


推广:使用 Vultr 搭建属于你自己的博客,每月低至 2.5 美元,全球多数据中心,稳定高速

打赏我

评论

你的邮箱地址不会被公开。必填项以 * 标出

无意义或不相关评论将被删除

允许使用以下html标签:<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

你可以上传文件,粘贴代码或长文至 Drop.it.r

本博客是言论不自由博客,评论只接受询问及赞同,不同观点请出门左转微博/发表于自己的博客。谢谢合作!

评论意味着你 同意 上传部分私人数据,包括邮箱和 IP, 这些数据不会被分享给第三方,不会用于商业用途或再推广用途。

更多相似文章