有些时候,我们需要服务器或者项目禁止指定的IP访问,如果我们用的是Nginx,可以这样设置。
第一、限制单个IP或者IP段
在 Nginx 的配置文件(如 nginx.conf 或站点配置文件 /etc/nginx/conf.d/xxx.conf)的 server 或 location 块中添加 allow 和 deny 规则。
allow <IP或IP段>; # 允许访问的IP或IP段
deny all; # 拒绝其他所有IP
或者
deny <IP或IP段>; # 拒绝访问的IP或IP段
allow all; # 允许其他所有IP
这里示范一下,比如示范IP段:
server {
listen 80;
server_name example.com;
location / {
allow 192.168.1.0/24; # 允许192.168.1.0~192.168.1.255访问
deny all; # 拒绝其他所有IP
# 其他配置...
}
}
只允许单个IP:
server {
listen 80;
server_name example.com;
location / {
allow 10.0.0.1; # 允许单个IP
allow 192.168.1.100; # 允许另一个IP
deny all; # 拒绝其他所有IP
# 其他配置...
}
}
第二、限制特定路径
如果只想限制某些路径(如后台管理页面 /admin),可以在 location 块中设置:
server {
listen 80;
server_name example.com;
location / {
allow all; # 默认允许所有访问
}
location /admin {
allow 192.168.1.0/24; # 只允许192.168.1.0/24网段访问/admin
deny all; # 其他IP访问/admin会被拒绝
# 其他配置...
}
}
最后,设置之后,重启Nginx生效。