无需公网IP,全程都在CF下,项目优势:
- 不暴露公网ip 防止被攻击
- 单栈转双栈 ipv4 ipv6 都能用 纯ipv6 也方便挂探针
- 除境内网络外 走cf基本都优化
- 开箱即用 迁移备份方便
- 安装好docker
- 申请 CloudFlare Tunnel Token
https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/get-started/create-remote-tunnel/ - CloudFlare开启GRPC流量代理
https://developers.cloudflare.com/network/grpc-connections/ - 启动服务
编辑 .env 文件中的 TUNNEL_TOKEN 为自己申请的
git clone https://github.com/yumusb/nezha-new.git
docker compose up -d
- 服务端映射到CF
CloudFlare Tunnel管理页 https://one.dash.cloudflare.com/ 加1个Public hostname 指向http://nginx:80
- (可选)探针IP加到CF拦截白名单
由于探针上报日志频繁,且VPS的IP质量参差不齐,可能会被CF误拦截导致无法正常工作。可以添加白名单。 操作路径:安全性-WAF-工具
或者参考文档 https://developers.cloudflare.com/waf/tools/ip-access-rules/ - (可选)配置自动更新
watchtower相关的注释都禁用掉,修改.env里面的TELEGRAM_BOT_TOKEN
、TELEGRAM_CHAT_ID
以实现更新通知。
/dashboard/settings 里面设置一下
- Agent对接地址【域名/IP:端口】
上面的 Public hostname:443,Agent 使用 TLS 连接
打勾 - 真实IP请求头
可以写nz-realip
或者CF-Connecting-IP
进入你的项目目录下(compose.yml同级)
docker compose pull
docker compose up -d
dashboard右上角复制安装命令,注意手动修改参数中的8008端口为443(如果你没有修改Agent对接地址),TLS改为True(如果你没有将配置文件中的 TLS设置为True)。
...晚点写
后台地址 /dashboard
默认密码 admin/admin