NGINX
NGINX Trac
3rd Party Modules
Security Advisories
CHANGES
OpenResty
ngx_lua
Tengine
在线学习资源
NGINX 开发从入门到精通
NGINX Modules
ngx_echo
univ
V2EX  ›  NGINX

请教下, nginx 怎么禁止国外的 ip 访问

  •  
  •   univ · Jun 1, 2020 · 7668 views
    This topic created in 2196 days ago, the information mentioned may be changed or developed.

    查看 nginx 的访问日志,不停的有国外的 ip 访问访问,怎么给他禁止了

    22 replies    2020-06-03 13:48:40 +08:00
    crab
        1
    crab  
       Jun 1, 2020
    GEOIP
    tankren
        2
    tankren  
       Jun 1, 2020
    不要局限 nginx 啊 iptables 等都可以
    est
        3
    est  
       Jun 1, 2020
    deny 国外 ip;
    no1xsyzy
        4
    no1xsyzy  
       Jun 1, 2020
    @tankren #2 @est #3
    就是你们两个把我这个只有黑名单不走代理的给拒之门外了?
    至少提示下当前地区不允许访问吧……
    dilu
        5
    dilu  
       Jun 1, 2020
    有个思路,可以有个脚本异步分析 nginx 日志,有国外 ip 就放到 redis 中,然后 nginx+lua 从 redis 获取 ip,如果已经被封掉了 直接 deny 即可
    iamverylovely
        6
    iamverylovely  
       Jun 1, 2020
    locale != zh_CN
    iamverylovely
        7
    iamverylovely  
       Jun 1, 2020
    $http_accept_language
    blakejia
        8
    blakejia  
       Jun 1, 2020
    换个思路。域名解析分地域。国外直接解析 127.0.0.1 是不是就稳了。
    xiaoz
        9
    xiaoz  
       Jun 1, 2020 via Android
    推荐 8 搂的方法,DNS 智能解析,将国外解析到 127.0.0.1
    univ
        10
    univ  
    OP
       Jun 1, 2020
    @blakejia #8 什么意思???感觉你这种方法最简单
    univ
        11
    univ  
    OP
       Jun 1, 2020
    @dilu #5 有案例吗?┭┮﹏┭┮
    blakejia
        12
    blakejia  
       Jun 1, 2020
    去搜索下关键字。一般云服务商都有提供。免费版可能没有。但是一般买个最低级的就有这么个功能
    dilu
        13
    dilu  
       Jun 1, 2020
    @sunny2580839896 #11 这个恐怕得自己开发

    不过看楼上好像给出了更简单的方案,如果你的域名支持根据国家来解析,直接把国外全部解析到 127 是个不错的办法
    univ
        14
    univ  
    OP
       Jun 1, 2020
    @dilu #13 好的,明白(o´ω`o)ノ
    visualbasic
        15
    visualbasic  
       Jun 2, 2020 via iPad
    @sunny2580839896 嗯,楼上几位说的在理,不过 dns 这种东西毕竟是表层,本地设置一下就绕过去了,如果攻击者真心想打恐怕没什么用
    其他的不太清楚,阿里云免费 dns 也支持国外解析的,国外分解析功能国内应该大部分都有
    如果还不行再尝试服务器端设置呗?
    initd
        16
    initd  
       Jun 2, 2020
    Cloudflare 的 Worker 支持屏蔽地区
    ns1.com 的免费 DNS 支持地区解析
    univ
        17
    univ  
    OP
       Jun 2, 2020
    @visualbasic #15 好的,谢谢了。我都搞不明白了,老是大量国外的 ip 和国内一些奇怪 ip 扫我,互联网真的是太大了
    no1xsyzy
        18
    no1xsyzy  
       Jun 2, 2020
    @sunny2580839896 #17 公网日常被扫,以前 ADSL 的时候自己控制的路由器拨号,有天跑里面日志一看一周扫了几百个请求。因为没有设置内网映射和 DMZ,所以全被路由拦掉了。
    univ
        19
    univ  
    OP
       Jun 2, 2020
    @no1xsyzy #18 现在应该不需要了吧??
    no1xsyzy
        20
    no1xsyzy  
       Jun 2, 2020
    @sunny2580839896 #19 CGNAT 么…… 那确实是不需要了……
    univ
        21
    univ  
    OP
       Jun 2, 2020
    @no1xsyzy #20 是的
    wzly
        22
    wzly  
       Jun 3, 2020
    cdn 或者 geoip 库
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2307 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 59ms · UTC 00:38 · PVG 08:38 · LAX 17:38 · JFK 20:38
    ♥ Do have faith in what you're doing.