V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
jamfer
V2EX  ›  站长

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

  •  
  •   jamfer · Dec 22, 2023 · 2459 views
    This topic created in 857 days ago, the information mentioned may be changed or developed.
    nginx 的错误日志报了很多 Too many open files 的错误,可是我已经把文件句柄数改成 65535 了,依然如此。

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

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

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

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

    总的来说你需要多台服务器做负载均衡+cdn 。
    asdfg17718
        13
    asdfg17718  
       Dec 22, 2023 via iPhone
    不要乱买防护,你这个是 CC 攻击,简单说就是黑客用软件刷虚拟 ip ,去伪装正常用户访问,你这个服务器配置很小的 CC 量就能刷的卡的动不了,套 CF 是个办法,但是延迟会偏高,防小量 CC 没问题,另外不要买 DDOS 防护,这是两种不同类型的攻击
    haoyunyinglai
        14
    haoyunyinglai  
       Dec 22, 2023
    封 IP 封 C 段 IP 封境外 IP 就是封 IP
    把 nginx 换成 openresty 整点 waf 功能上去
    yuedanwork
        15
    yuedanwork  
       Dec 22, 2023
    nginx 和其他配置都先尽量别动
    先试试 https://github.com/chaitin/SafeLine
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5708 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 88ms · UTC 07:42 · PVG 15:42 · LAX 00:42 · JFK 03:42
    ♥ Do have faith in what you're doing.