Nginx 禁用IP

Nginx 支持IP端访问禁用启用访问, 直接在配置项目定义即可, 默认定义禁用IP名单:

1
2
3
4
5
# 创建禁用IP目录
sudo mkdir /etc/nginx/block.d

# 创建通用的IP禁用项目
sudo vim /etc/nginx/block.d/normal.conf

常规文件格式:

1
2
3
4
5
6
7
8
# 优先识别禁用不允许访问的IP
deny 68.183.69.58;

# 禁用访问子网段: 68.183.69.0~68.183.69.255 的IP
deny 68.183.69.0/24;

# 默认允许全部IP访问
allow all;

这里推荐常规通用禁用IP的名单: blacklist

通用直接采用脚本处理下配置:

1
2
3
4
5
6
7
8
# 调出所有IP访问附加上禁用IP数据
curl https://sblam.com/blacklist.txt | sed -e '/^#/d' | awk '{print "deny "$0";"}' > /tmp/block.txt

# 追加最后的开放配置
echo "allow all;" >>/tmp/block.txt

# 移动配置项到Nginx目录
sudo mv /tmp/block.txt /etc/nginx/block.d/block.conf

这里只需要在 http/server/location 配置之中就行了:

1
2
3
4
http {
# 引入配置文件
include /etc/nginx/block.d/block.conf;
}

这样就能做到指定服务的IP配置了.