2026/1/16 11:00:11
网站建设
项目流程
商城网站的建设方案,关于建设网站的外国参考文献,html成品网页模板下载,wordpress去掉链接中的吗本文将详细介绍如何通过隧道技术#xff0c;将无法直接通过公网访问的服务器端口#xff08;如阿里云魔搭环境、公司内网服务器等#xff09;安全地暴露到公网#xff0c;实现临时或长期的远程访问。
适用场景
阿里云魔搭#xff08;ModelScope#xff09;#xff1a;云…本文将详细介绍如何通过隧道技术将无法直接通过公网访问的服务器端口如阿里云魔搭环境、公司内网服务器等安全地暴露到公网实现临时或长期的远程访问。适用场景阿里云魔搭ModelScope云端环境通常不开放公网端口公司内网服务器有安全策略限制无法从外部直接访问开发测试环境需要临时向客户或同事展示本地开发的服务云服务器无公网IP某些云服务商的服务器默认不提供公网访问能力准备工作确保你的机器具备以下条件Linux系统本文以x86架构为例Python 3.7 环境网络连接正常能访问外网第一步安装UV快速Python工具管理器UV是一个用Rust编写的高速Python包安装器和解析器比传统pip快得多。安装命令sudowgethttp://qiniu.dywlkj.com/uv_for_linux_x86/install.sh -O -|sh安装后验证uv --version如果显示版本号如uv 0.4.x说明安装成功。UV环境初始化可选但推荐# 创建项目目录mkdirtunnel-proxycdtunnel-proxy# 初始化虚拟环境uv venv# 激活虚拟环境Linux/Macsource.venv/bin/activate第二步安装和使用隧道工具安装gradio-tunnelinggradio-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 --port8080命令执行后你会看到类似输出Running 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第三步验证代理效果3.1 快速启动一个测试HTTP服务器使用Python内置HTTP服务器# 在端口8888启动HTTP服务器可以换成任意可用端口python -m http.server8888--directory /path/to/serve# 简化版在当前目录启动python -m http.server8888使用Node.js的http-server如果已安装Node.jsnpx http-server -p88883.2 启动隧道代理# 在新终端或后台启动隧道gradio-tunneling --port88883.3 访问测试复制终端输出的公网URL如https://xxxxxx-8888.gradio.live在浏览器中打开该URL你应该能看到HTTP服务器提供的文件列表或页面实际应用示例示例1代理Web应用如Flask/Django# 假设你的Flask应用运行在5000端口python app.py# 应用启动监听5000端口# 新终端中启动隧道gradio-tunneling --port5000示例2代理数据库服务临时调试# 假设MySQL运行在3306端口注意生产环境不推荐直接暴露数据库gradio-tunneling --port3306示例3代理SSH服务22端口gradio-tunneling --port22# 然后可以通过指定URL和端口进行SSH连接注意事项和安全建议1.安全警告不要暴露敏感服务避免直接暴露数据库、SSH、Redis等含敏感数据的服务仅用于临时访问gradio-tunneling适合短期、临时访问场景添加认证层对于Web服务建议在应用层添加密码认证2.性能限制免费版有连接数和带宽限制延迟可能较高不适合实时性要求极高的应用长时间连接可能被断开3.常见问题排查问题服务启动失败解决方案# 检查端口是否被占用netstat-tlnp|grep8080# 尝试更换端口gradio-tunneling --port8081问题无法访问公网URL解决方案检查本地服务是否正常运行curlhttp://localhost:8080检查防火墙设置# 临时关闭防火墙测试用sudoufw disable# 或开放特定端口sudoufw allow8080/tcp问题隧道连接不稳定解决方案检查网络连接尝试更换端口考虑使用更稳定的隧道服务如ngrok、frp等替代方案推荐如果gradio-tunneling不满足需求可以考虑1.Ngrok功能更全面# 安装pipinstallpyngrok# 使用ngrok http80802.Frp自建服务器更可控需要自己有一台公网服务器配置稍复杂但更稳定安全3.Cloudflare Tunnel适合企业场景免费且功能强大需要域名配合使用总结通过gradio-tunneling我们可以快速将内网服务暴露到公网特别适合以下场景临时演示或测试紧急故障排查与远程同事协作调试云上开发环境临时访问核心流程总结安装UV加速Python包管理通过UV/pip安装gradio-tunneling启动本地服务并确认端口运行gradio-tunneling --port 你的服务端口使用生成的公网URL访问服务记住隧道服务只是临时解决方案生产环境建议使用正规的公网接入方案并做好安全防护。附录常用命令速查表命令说明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 auxgrep gradio希望这篇指南能帮助你顺利将内网服务代理到公网如有问题欢迎在评论区讨论。