nginx 脚本添加白名单ip,包括ip格式校验
一、白名单文件 white_ip.txt 内容如下
allow 127.0.0.1;
deny all;
二、自助添加ip脚本 white_ip.sh 内容如下
#!/bin/bash
read -p "请输入要添加的IP:" ip
echo "$ip" | egrep --color '^[1-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[1-9]{1,3}$'
if [ $? -ne 0 ]; then
echo "你输入的ip格式有误"
exit 0
fi
# 获取当前文件行数,因为白名单最后一行不能变
column=$(wc -l < /etc/nginx/block_ip.txt);
# 向当前最后一行处(也即倒数第二行)插入数据:sed -i "*i allow $ip;" /opt/nginx/white_ip.txt
# 语法:*i 就是在第五行插入行
# allow $ip; 要插入的内容
sed -i "${column}i allow $ip;" /opt/nginx/white_ip.txt;
echo "最新的文件内容是:";
cat /opt/nginx/white_ip.txt;
nginx -s reload;
三、添加ip
- ./white_ip.sh
- 请输入新的IP:128.196.45.45
- 128.196.45.45
- 最新的文件内容是:
- allow 127.0.0.1;
- allow 128.196.45.45;
- deny all;