nginx 下在有 CDN 的情况下,禁止 ip 段 用户访问 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
marchDu
V2EX    NGINX

nginx 下在有 CDN 的情况下,禁止 ip 段 用户访问

  •  
  •   marchDu 2021-01-22 16:08:49 +08:00 3746 次点击
    这是一个创建于 1803 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近网站经常被国外的亚马逊的服务器的爬取内容,现在已经有黑名单的 Ip 段, 但是网站前端配有 CDN,导致 nginx 的 $remote_addr 获取的是 ip 地址是 cdn 的 ip deny 不生效,

    找了一个教程 [Nginx 网站使用 CDN 之后禁止用户真实 IP 访问的方法]( https://zhangge.net/5096.html)

    只能实现单个 ip 的禁止访问,请问大家有按照 ip 段禁止访问的办法或思路吗?

    第 1 条附言    2021-01-22 17:32:01 +08:00
    感谢各位的回复,回头让甲方给看看 CDN 上有没有相关配置。
    第 2 条附言    2021-01-25 12:42:36 +08:00
    阿里云的 CDN 黑名单有 100 条的限制,我们这个有 200 多条,最终没有使用阿里云的黑名单的方案,最后使用 编译 nginx 增加 http_realip_module 模块,
    参考:
    https://www.mbx0.com/2391.html
    https://blog.csdn.net/qq_33101675/article/details/79013248
    14 条回复    2021-01-22 23:24:57 +08:00
    superrichman
        1
    superrichman  
       2021-01-22 16:13:08 +08:00 via iPhone
    niginx if 条件 正则表达式
    chendy
        2
    chendy  
       2021-01-22 16:19:48 +08:00
    为啥不在 cdn 配黑名单呢
    engineercj
        3
    engineercj  
       2021-01-22 16:22:54 +08:00
    ipset add black
    lewinlan
        4
    lewinlan  
       2021-01-22 16:24:12 +08:00 via Android
    cdn 应该可以配置返回 real ip
    huangzxx
        5
    huangzxx  
       2021-01-22 16:26:15 +08:00
    1 、nginx real_ip 模块
    2 、拿到厂商 cdn 的 IP 段,例如 cloudflare https://www.cloudflare.com/ips-v4
    privil
        6
    privil  
       2021-01-22 16:29:36 +08:00
    用 openresty 这种需求也是随便做吧,获取 X-Forwarded-For 第一个变量,然后匹配,ban 掉。都有现成开发好的脚本吧。
    Aliencn
        7
    Aliencn  
       2021-01-22 16:29:42 +08:00
    有 CDN,好多请求都不会回源站了,在源站上配置禁用规则有啥用
    dndx
        8
    dndx  
       2021-01-22 16:30:12 +08:00
    laozhoubuluo
        9
    laozhoubuluo  
       2021-01-22 16:54:22 +08:00
    这种建议三步走:

    1. CDN 上配置爬虫黑名单 IP 地址.
    2. 源站基于 ngx_http_realip_module 配置规则, 只信任 CDN 提供的 XFF 头.
    3. 源站在 2 生效的基础上, 配置爬虫黑名单 IP 地址, 或配置仅允许 CDN IP 访问.
    colordog
        10
    colordog  
       2021-01-22 17:22:45 +08:00
    @laozhoubuluo 活捉老周,哈哈
    colordog
        11
    colordog  
       2021-01-22 17:23:33 +08:00
    @laozhoubuluo 赶快给我搞下烽火新款万兆光猫的 sip 话机密码
    fengjianxinghun
        12
    fengjianxinghun  
       2021-01-22 17:28:17 +08:00
    set_real_ip_from x.x.x.x;
    real_ip_header X-Forwarded-For;
    real_ip_recursive on;
    cco
        13
    cco  
       2021-01-22 17:29:00 +08:00
    用过几款 CDN,都带 WAF 功能的- -。
    indev
        14
    indev  
       2021-01-22 23:24:57 +08:00
    Nginx 支持 IP 段的吧,可以只允许来自 CDN IP 的访问: https://frankindev.com/2020/11/18/allow-cloudflare-only-in-nginx/
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5279 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 43ms UTC 08:12 PVG 16:12 LAX 00:12 JFK 03:12
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86