Nginx禁止某IP(段)访问的两种方法

修改Nginx配置文件nginx.conf

Nginx配置访问IP可以修改nginx.conf文件,只需要在server中添加allow和deny的IP即可,如下:

server {
    listen       80;
    server_name  localhost;
    allow all;
    deny 123.123.123.123;
    error_page   500 502 503 504  /50x.html;
}

注意!上面的配置中allow必须在deny的前面配置,不然allow不生效。

Nginx中允许或者拒绝某个IP访问是这么写的:

allow 192.168.0.1;
deny  192.168.0.2;

如果你需要对整个IP段设置不允许访问,可以这么写:

deny 123.0.0.0/8;    // 封 123.0.0.1~123.255.255.254 这个段的ip
deny 123.123.0.0/16;   // 封 123.123.0.1~123.123.255.254 这个段的ip
deny 123.123.123.0/24;   // 封 123.123.123.1~123.123.123.254 这个段的ip
deny all;  // 封所有ip

说明,allowdeny配置相同,如果需要开放某个IP段,只需要把上面的deny改成allow

另外需要注意,该配置修改需要重启Nginx服务器才能生效。

修改网站配置文件.htaccess

除了修改Nginx配置文件之外,还可以通过修改网站配置文件.htaccess来限制某IP(段)访问,方法如下。

将以下内容保存为.htaccess文件,上传至网站根目录。如果原来已经存在.htaccess文件的,将以下内容加到该文件开头。

Order allow,deny
allow from all
deny from 123.123.123.123

如果要限制一个IP段,比如要限制123.123.123.*这个C段,则输入:

Order allow,deny
allow from all
deny from 123.123.123

以上内容表示拒绝123.123.123开头的所有IP,其他IP允许。

如果要限制多个IP段,中间用空格隔开,如:

Order allow,deny
allow from all
deny from 111.111.111 111.222.222 111.333.333

说明,该配置不用重启web服务器,修改立即生效。

此外,该方法适用任何web网站,例如IIS、Apache网站。

你可能感兴趣的:(nginx,nginx,tcp/ip,服务器,1024程序员节)