zoukankan      html  css  js  c++  java
  • nginx拒绝国外IP访问

    nginx拒绝国外IP访问方法很多,比如iptables,geoip模块,域名解析等等。这些方法不会相互冲突,可以结合起来一起使用。

    今天来教大家利用两个小方法解决  域名解析禁止掉海外IP访问网站。

    域名解析方法:

    绝大多数域名解析服务商都是提供电信联通移动海外线路区分解析的,所以我们可以充分利用这个功能,来禁止海外访问。

    以阿里云DNS解析为例:

           设置A记录类型

           解析线路:境外

           记录值:127.0.0.1
     

           设置后等30分钟后我们再用ping工具测试下境外解析,就会发现所有的海外线路都会解析至127.0.0.1这个IP上,为什么是127.0.0.1呢?因为这个是本地IP,如果有攻击海外肉鸡攻击这个网站,就会自己攻击自己。

    结合我写的另外一个方法:

    用脚本每周更新国外IP库,利用nginx deny功能直接拒绝这些IP地址。

    #添加到crontab
    0 0 * * 5 /bin/bash /root/tools/black_nginx.sh

    代码内容

    #!/bin/bash
    rm -f legacy-apnic-latest black_`date +%F`.conf && wget http://ftp.apnic.net/apnic/stats/apnic/legacy-apnic-latest awk -F '|' '{if(NR>2)printf("%s %s/%d%s ","deny",$4,24,";")}' legacy-apnic-latest > black_`date +%F`.conf && rm -f /usr/local/nginx/conf/black.conf && ln -s $PWD/black_`date +%F`.conf /usr/local/nginx/conf/black.conf && /etc/init.d/nginx reload

     在nginx主配置文件的http段include black.conf; 这样此服务器所有网站都拒绝这些IP

  • 相关阅读:
    配置文件
    ajax
    网线颜色排序
    cs程序添加初始化加载
    后台设置gridview不换行
    js 经典正则判断 一个字符串是否包含另一个字符串
    窗体关闭事件
    oracle根据视图删除表
    (字符串)哈希
    (字符串)哈希
  • 原文地址:https://www.cnblogs.com/guoyabin/p/14263732.html
Copyright © 2011-2022 走看看