用 Cloudflare Tunnel 把内网服务搬上公网:哪吒面板实战
2026-10-18
哪吒监控面板跑在 195.72.188.62:8008 上,只监听内网端口。我不想为它开防火墙端口,也不想操心证书,就用 Cloudflare Tunnel 把它搬到了 nezha.yebiguo.com,全程 HTTPS。
原理三步
第一步,在服务器上跑一个叫 cloudflared 的小软件。它是主动向外跟 Cloudflare 建几条加密连接——注意方向是向外,所以服务器防火墙可以保持全关,一个端口都不用开。
第二步,在 Cloudflare 后台登记:nezha.yebiguo.com 进来的人,送到 http://195.72.188.62:8008。
第三步,Cloudflare 自动加一条 DNS。访客访问网址,Cloudflare 通过那条隧道把请求送进内网,面板原样返回,证书 Cloudflare 包办。
踩到的坑
隧道建好后一直连不上,查了半天发现:面板本机所在的 QQG 机房(AS213840)把 Cloudflare 的网段全屏蔽了,cloudflared 在那台机器上根本挖不通隧道。
解法是把连接器搬到另一台机器上跑:美国 DediRock(192.255.213.164)跟 Cloudflare 握手正常,再从美国连回 QQG 的面板,延迟约 191ms,看个大盘完全够用。现在是 4 条 QUIC 隧道在线。
教训:隧道连不上先别怀疑配置,用该机房的机器直接 ping / 连一下 Cloudflare,可能是机房层面的屏蔽。
一条定死的规矩
看大盘走隧道,探针上报走直连。哪吒的 agent 探针永远直连面板 IP,不许走域名——Cloudflare 免费版会截断探针用的 gRPC 长连接,走了反而掉线。域名只给人看,不给机器用。