静态网页要公网验收,没公网 IP 怎么办——三种隧道方式的实测对比
最近做作品发布时遇到一个典型问题:网页在本地跑得好好的(python3 -m http.server 8000,浏览器打开一切正常),但验收方需要一个公网 URL,而我的开发环境只有出站网络、没有公网入站。先后试了三种方式,记录一下实测结论。
一、Cloudflare 快速隧道(cloudflared tunnel --url)
优点是免账号、一条命令、https 域名现成。实测:隧道创建直接被 403 拒绝。原因是 trycloudflare 对来源网络有风控,部分机房/云厂商出口 IP 段会被整段拒绝。结论:网络环境干净时它是最快的选择,但不能当作唯一方案。
二、SSH 反向隧道(serveo)
原理是 ssh -R 把远端端口映射回本地服务,老牌服务有 serveo、localhost.run 等。实测:一条命令即通,分配的 https 域名公网访问返回 200,延迟可接受。注意两点:免费隧道的域名是临时的,进程断开即失效;长连接要加 ServerAliveInterval 保活。
三、平台自带开发隧道
如果作品本身就跑在云开发环境里(比如华为云 AI 开发者空间),优先用平台自带的 devbridge 隧道:域名与账号绑定、和平台的发布流程是一体的,省去自己维护隧道进程。对这次展览馆投稿来说,这条其实是正道,前两种更适合本地开发环境的临时验收。
小结:先试平台自带隧道;没有平台隧道时,Cloudflare 快速隧道最省事但看网络脸色;SSH 反向隧道最朴素、最不挑环境,适合兜底。无论哪种,临时域名都不要写进长期文档,验收完成记得关掉隧道进程。
- 点赞
- 收藏
- 关注作者
评论(0)