nginx屏蔽部分ip访问

    科技2022-08-11  117

    面对垃圾留言和暴力破解,我们可以屏蔽这些IP访问我们的网站,或者限制仅仅某些白名单IP才能访问我们的网站。这时候我们就可以在nginx中通过简单的配置来达到目的。

    找到nginx的配置文件,/usr/local/nginx/conf/nginx.conf,具体路劲还是要看自己设置,然后在server{}中间添加规则,允许就是allow,拒绝就是deny

    上图所示就是只拒绝了一个ip,注意后面要用分号; 保存退出配置文件,使用

    nginx -t #检查配置文件防止出错 nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful nginx -s reload #重新加载配置文件,让刚刚设置的参数生效

    如果是想限制整个nginx,或者一个域名,甚至是一个域名下的一个子网站都是可以的,根据不同的模块去添加相应的规则就可以了

    放置位置效果httpnginx中所有服务起效server指定的服务起效location满足的location下起效

    举几个例子: 1.允许某个ip访问

    # 格式: allow ip; allow 106.54.185.180;

    2.允许所有ip访问

    allow all;

    3.拒绝某个ip访问

    # 格式: deny ip; deny all;

    4.拒绝所有ip访问

    deny 106.54.185.184;

    5.只允许几个ip访问,其他都禁止

    allow 106.54.185.180; allow 106.54.185.181; allow 106.54.185.185; deny all;

    错误写法:

    deny all; allow 106.54.185.180; allow 106.54.185.181; allow 106.54.185.185;

    注意,这里不能将deny all;写在前面,nginx的配置是从上到下的,如果将deny all;放在最前面,会直接导致所有ip都不能访问,下面几条允许的也不会生效 如果需要写入的ip比较多,也可以新建配置文件,如blocksip.conf 在blocksip.conf中写入配置规则 并在主配置文件中相应模块添加

    # 配置ip限制策略 include blockip.conf;

    注意事项:   1. deny 一定要加一个ip,否则直接跳转到403,不往下执行了;如果403默认页是同一域名下,会造成死循环访问;   2. allow的ip段   从允许访问的段位从小到大排列,如127.0.0.0/24 下面才能是10.10.0.0/16   24表示子网掩码:255.255.255.0   16表示子网掩码:255.255.0.0   8表示子网掩码:255.0.0.0   3. deny all;结尾 表示除了上面allow的其他都禁止

    Processed: 0.028, SQL: 9