网站被攻击,并发数较高,很卡并且报 500 错误

2023-12-22 12:27:22 +08:00
 jamfer
nginx 的错误日志报了很多 Too many open files 的错误,可是我已经把文件句柄数改成 65535 了,依然如此。

被攻击时 ECS 显示同时连接数大约是 3000 左右,机器是 2 核 4G 带宽 5M 的,被攻击时显示 CPU 负载 15%,内存负载 25%,带宽 3M 左右。

被攻击时网站非常卡,并且时常爆出 500 Internal Server Error 。

请问这种情况下要怎么解决,升级服务器配置能解决吗?
1855 次点击
所在节点    站长
15 条回复
jaylee4869
2023-12-22 12:50:28 +08:00
你需要 CDN 。
升级服务器配置当然能解决,比如升级到 512 核心,1TB 内存的机器 :)
HUZHUANGZHUANG
2023-12-22 13:31:44 +08:00
你也没说你有没有做防护,或者做了啥防护,万一有懂行的想说几句,都不知道从何说起啊.蹲一个方案先
hgc81538
2023-12-22 14:21:51 +08:00
在 nginx.conf 加 worker_rlimit_nofile 20480; 試試
jamfer
2023-12-22 14:30:28 +08:00
@HUZHUANGZHUANG 没有做任何防护
LLaMA2
2023-12-22 14:52:43 +08:00
开 SSH ,我去看看
oneisall8955
2023-12-22 14:54:02 +08:00
开 ssh ,让 ssh 哥看看
lianxiaoyi
2023-12-22 14:59:31 +08:00
是 php 程序吗?然后是否是 fpm 运行,反正我 php 经常遇到这种问题,无解,所以我都是买 2 核 2G 的服务器,然后多买几台。
lianglianglee
2023-12-22 15:08:20 +08:00
个人网站建议做一个防护,但是国内的防护对个人太贵太贵了。套 CF 吧,延迟高就高吧。
别瞎几把套阿里云的 CDN ,太贵了,小心破财
jamfer
2023-12-22 15:15:18 +08:00
@lianxiaoyi 多买几台然后怎么搞?负载均衡吗?
lianxiaoyi
2023-12-22 15:21:58 +08:00
@jamfer 嗯,反正我也很懵逼,不知道什么原因。fpm 的最大文件打开数和 nginx 的最大打开数都设置了,没啥用。所以就干脆多整几台小机器,然后通过负载均衡分发
janwarlen
2023-12-22 15:22:35 +08:00
@jamfer #4 买个前置网关防护吧,找个运维问问,或者问你的云服务商客服
dzdh
2023-12-22 15:28:05 +08:00
/etc/security/limits.conf 在 程序被 systemd 调度时,是不生效的。

另外 无论你设置多大,攻击来了一样会触发这个限制,当然你可以设置成无限,但是服务器就崩了可能 ssh 你都连不进去了。

总的来说你需要多台服务器做负载均衡+cdn 。
asdfg17718
2023-12-22 16:29:07 +08:00
不要乱买防护,你这个是 CC 攻击,简单说就是黑客用软件刷虚拟 ip ,去伪装正常用户访问,你这个服务器配置很小的 CC 量就能刷的卡的动不了,套 CF 是个办法,但是延迟会偏高,防小量 CC 没问题,另外不要买 DDOS 防护,这是两种不同类型的攻击
daxin945
2023-12-22 16:30:56 +08:00
封 IP 封 C 段 IP 封境外 IP 就是封 IP
把 nginx 换成 openresty 整点 waf 功能上去
yuedanwork
2023-12-22 22:11:42 +08:00
nginx 和其他配置都先尽量别动
先试试 https://github.com/chaitin/SafeLine

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

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

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

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

© 2021 V2EX