对于拥有多台 VPS 的玩家来说,暴露面板 IP 往往意味着面临被扫描和攻击的风险。今天,小编带你玩个高端的:利用 Cloudflare Tunnel(穿透)+ gRPC 代理,实现全隐身的哪吒监控部署。
🌟 为什么选择 Cloudflare Tunnel 版?
与标准版相比,这个名为 nezha-new 的 Docker 镜像包具备以下“黑科技”特性:
- 🔒 绝对安全:面板端无需暴露公网 IP,完全躲在 Cloudflare 的防火墙后。
- 🌍 双栈无缝支持:自动实现单栈转双栈,纯 IPv6 的服务器也能轻松挂载探针。
- 🚀 迁移无忧:数据与配置全 Docker 化,换服务器只需备份
.env和data目录,一分钟拉起。 - ⚡ 优化传输:除中国大陆外,全球流量走 Cloudflare 骨干网,丢包率显著降低。
🛠️ 准备工作
- 一台服务器:配置不限(512MB 内存即可),需安装好 Docker 和 Docker Compose。
- 一个域名:已接入 Cloudflare 进行管理。
- 核心项目地址:yumusb/nezha-new
🚀 第一步:Cloudflare 端的“云端”配置
1. 创建隧道 (Tunnel)
- 登录 Cloudflare Zero Trust 控制台。
- 点击 Networks -> Tunnels -> Create a tunnel。
- 选择 Cloudflared 类型,为隧道命名(例如
Nezha-Server)。 - 提取 Token:在安装命令中,复制以
ey开头的那一长串字符串,这就是你的 TUNNEL_TOKEN。
2. 开启 gRPC 代理(至关重要!)
https://developers.cloudflare.com/network/grpc-connections/
- 回到 Cloudflare 官网主界面,点击你的域名。
- 进入 网络 (Network) 选项卡。
- 拉到最下方,找到 gRPC 开关并点击开启。小编提醒:不开启此项,你的探针(Agent)将无法上线!
🏗️ 第二步:服务器端的“本地”部署
1. 拉取并配置
# 克隆项目
git clone https://github.com/yumusb/nezha-new.git
cd nezha-new
# 编辑配置文件
nano .env
在 .env 文件中,将 TUNNEL_TOKEN 替换为你刚才获取的 Token。
2. 启动容器
docker compose up -d
3. 完成域名映射
回到 Cloudflare Tunnel 界面(Configure Tunnel):
- 点击 Public Hostname -> Add a public hostname。
- Subdomain 填写你的监控子域名(如
monitor)。 - Service 填写:
HTTP://nginx:80(注意这里指向容器内的 Nginx)。 - 保存。现在你可以通过域名访问你的面板了!
⚙️ 第三步:哪吒面板后台初始化
访问 https://你的域名/dashboard(默认用户名/密码:admin/admin),进行关键设置:
- Agent 对接地址:填写
你的域名:443。 - Agent 使用 TLS 连接:务必勾选。
- 真实 IP 请求头:填写
CF-Connecting-IP。
🛰️ 第四步:探针 (Agent) 安装的“特殊姿势”
由于我们走了 Cloudflare 443 端口穿透,面板自动生成的安装脚本需要微调:
操作技巧:
复制面板生成的 Linux 一键安装命令后,手动修改其中的参数:
- 将端口 8008 改为 443。
- 将 NZ_TLS=false 改为 NZ_TLS=true。
🎁 进阶玩法的“彩蛋”
- 自动更新:在
.env中取消 Watchtower 的注释,面板会自动保持最新版本。 - 自动备份:取消 Backup 相关注释,填入你的 GitHub Token,面板数据会定时自动推送到你的私有仓库。
- 拦截白名单:由于探针上报频繁,建议在 Cloudflare 的 安全性 -> WAF -> 工具 中,将你 VPS 的 IP 加入 IP 访问规则白名单。
📝 小编复盘
| 关键环节 | 核心要点 |
| 安全感 | 面板完全对公网“闭眼”,只有通过隧道才能触达。 |
| 易错点 | 忘记开启域名的 gRPC 开关或 Agent 未改 443。 |
| 适用人群 | 被运营商防火墙困扰、或对隐私极度敏感的进阶玩家。 |
小编总结:这套方案利用了 Cloudflare 强大的基础设施,解决了传统探针暴露 IP 的痛点。虽然步骤比常规版稍多,但“一劳永逸”的安全感绝对值回票价!
© 版权声明
THE END







暂无评论内容