V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
jamfer
V2EX  ›  站长

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

  •  
  •   jamfer · 2023-12-22 12:27:22 +08:00 · 1862 次点击
    这是一个创建于 374 天前的主题,其中的信息可能已经有所发展或是发生改变。
    nginx 的错误日志报了很多 Too many open files 的错误,可是我已经把文件句柄数改成 65535 了,依然如此。

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

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

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

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

    总的来说你需要多台服务器做负载均衡+cdn 。
    asdfg17718
        13
    asdfg17718  
       2023-12-22 16:29:07 +08:00 via iPhone
    不要乱买防护,你这个是 CC 攻击,简单说就是黑客用软件刷虚拟 ip ,去伪装正常用户访问,你这个服务器配置很小的 CC 量就能刷的卡的动不了,套 CF 是个办法,但是延迟会偏高,防小量 CC 没问题,另外不要买 DDOS 防护,这是两种不同类型的攻击
    daxin945
        14
    daxin945  
       2023-12-22 16:30:56 +08:00
    封 IP 封 C 段 IP 封境外 IP 就是封 IP
    把 nginx 换成 openresty 整点 waf 功能上去
    yuedanwork
        15
    yuedanwork  
       2023-12-22 22:11:42 +08:00
    nginx 和其他配置都先尽量别动
    先试试 https://github.com/chaitin/SafeLine
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1106 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 18:57 · PVG 02:57 · LAX 10:57 · JFK 13:57
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.