桌面革命:用NoFences重新定义你的数字工作空间
2026/5/13 13:03:06
本文将详细介绍如何通过隧道技术,将无法直接通过公网访问的服务器端口(如阿里云魔搭环境、公司内网服务器等)安全地暴露到公网,实现临时或长期的远程访问。
确保你的机器具备以下条件:
UV是一个用Rust编写的高速Python包安装器和解析器,比传统pip快得多。
sudowgethttp://qiniu.dywlkj.com/uv_for_linux_x86/install.sh -O -|shuv --version如果显示版本号(如uv 0.4.x),说明安装成功。
# 创建项目目录mkdirtunnel-proxy&&cdtunnel-proxy# 初始化虚拟环境uv venv# 激活虚拟环境(Linux/Mac)source.venv/bin/activategradio-tunneling是基于Gradio的隧道工具,可以快速创建安全的公网代理。
# 使用uv安装(推荐)# 使用清华源uv pipinstallgradio-tunneling -i https://pypi.tuna.tsinghua.edu.cn/simple# 使用阿里源uv pipinstallgradio-tunneling -i https://mirrors.aliyun.com/pypi/simple# 使用华为源uv pipinstallgradio-tunneling -i https://repo.huaweicloud.com/repository/pypi/simple# 或使用传统pip安装pipinstallgradio-tunneling假设你的本地服务运行在8080端口:
gradio-tunneling --port8080Running on public URL: https://xxxxxxxx.gradio.live Running on public URL: https://xxxxxxxx-8080.gradio.live这个URL就是你的公网访问地址!
# 指定特定的子域名(如果可用)gradio-tunneling --port8080--subdomain my-service# 启用调试模式查看详细信息gradio-tunneling --port8080--verbose# 同时代理多个端口(如果需要)gradio-tunneling --port8080,8081,3000# 在端口8888启动HTTP服务器(可以换成任意可用端口)python -m http.server8888--directory /path/to/serve# 简化版(在当前目录启动)python -m http.server8888npx http-server -p8888# 在新终端或后台启动隧道gradio-tunneling --port8888https://xxxxxx-8888.gradio.live# 假设你的Flask应用运行在5000端口python app.py# 应用启动,监听5000端口# 新终端中启动隧道gradio-tunneling --port5000# 假设MySQL运行在3306端口(注意:生产环境不推荐直接暴露数据库)gradio-tunneling --port3306gradio-tunneling --port22# 然后可以通过指定URL和端口进行SSH连接解决方案:
# 检查端口是否被占用netstat-tlnp|grep8080# 尝试更换端口gradio-tunneling --port8081解决方案:
curlhttp://localhost:8080# 临时关闭防火墙(测试用)sudoufw disable# 或开放特定端口sudoufw allow8080/tcp解决方案:
如果gradio-tunneling不满足需求,可以考虑:
# 安装pipinstallpyngrok# 使用ngrok http8080通过gradio-tunneling,我们可以快速将内网服务暴露到公网,特别适合以下场景:
核心流程总结:
gradio-tunneling --port <你的服务端口>记住:隧道服务只是临时解决方案,生产环境建议使用正规的公网接入方案,并做好安全防护。
| 命令 | 说明 |
|---|---|
uv pip install gradio-tunneling | 安装隧道工具 |
gradio-tunneling --port 8080 | 代理8080端口 |
gradio-tunneling --port 8080 --subdomain myapp | 使用自定义子域名 |
python -m http.server 8080 | 启动测试HTTP服务器 |
lsof -i :8080 | 检查端口占用情况 |
| `ps aux | grep gradio` |
希望这篇指南能帮助你顺利将内网服务代理到公网!如有问题,欢迎在评论区讨论。