系统推荐:debian12
场景
例如:A服务器部署了项目,仅B服务器可以反代,脚本在A服务器运行
用法
docker端口白名单脚本
curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/allow_ips.sh && chmod +x allow_ips.sh && ./allow_ips.sh
首次运行会检测netfilter-persistent
是否安装,没有的会自动安装
用法
# 1) ./allow_ips.sh <端口> <ip1> <ip2> ... # 添加规则
# 2) ./allow_ips.sh list # 查看规则
# 3) ./allow_ips.sh clear <端口> # 清理指定端口的规则
# 4) ./allow_ips.sh save # 手动保存规则
# 5) ./allow_ips.sh restore # 恢复规则(开机自启可用)
例如发行 5521端口,仅6.6.6.6可以访问
./allow_ips.sh 5521 6.6.6.6
多个ip
./allow_ips.sh 5521 6.6.6.6 3.3.3.3
查看规则
./allow_ips.sh list
或者
sudo iptables -L DOCKER-USER -n
反代脚本(nginx)
脚本在B服务器运行
配合我的nginx反代脚本,自动签发证书和续签,当然你也可以使用caddy,他们的区别我不清楚,生产环境我更愿意使用nginx
curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/nginx-acme-manager.sh && chmod +x nginx-acme-manager.sh && ./nginx-acme-manager.sh