news 2026/4/21 19:27:17

内网穿透实现公网访问HeyGem:frp/ngrok配置教程

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
内网穿透实现公网访问HeyGem:frp/ngrok配置教程

内网穿透实现公网访问HeyGem:frp/ngrok配置实战

在AI应用快速落地的今天,越来越多团队选择将数字人、语音合成、图像生成等系统部署在本地服务器上——既保障数据隐私,又能充分利用高性能GPU资源。但问题也随之而来:你的HeyGem视频生成系统跑得好好的,同事却在外地没法查看进度;客户想试用演示版,你只能发录屏……明明服务就在localhost:7860,却像被关在玻璃房里,看得见摸不着。

这背后的核心障碍,就是网络隔离。大多数实验室、办公室甚至家用宽带都没有固定公网IP,防火墙和NAT层层阻隔,外部设备根本无法直接连接到内网主机。这时候,内网穿透就成了那把“钥匙”。

frp 和 ngrok 正是目前最主流的两套解决方案。一个适合长期稳定运行,一个主打即开即用,各有千秋。接下来我们就以HeyGem 数字人视频生成系统为例,手把手带你打通从本地WebUI到公网访问的全链路。


frp:自建隧道,掌控全局

如果你希望搭建一个可长期使用、安全可控的远程访问通道,frp 是首选方案。它采用“客户端-服务端”架构,通过一台拥有公网IP的中转服务器(如阿里云ECS),为内网服务建立加密反向代理隧道。

它是怎么工作的?

想象一下:你在家里运行 HeyGem,而公网服务器像是一个24小时在线的邮局。frpc(客户端)主动向这个邮局注册:“我是192.168.1.100上的HeyGem服务,请帮我转发发往heygem.yourdomain.com的信件。” 当外部用户访问该域名时,请求先到达邮局(frps),再由它通过已建立的安全通道转交给你的本地机器。

整个过程对用户完全透明,就像直接访问了一个公网网站。

部署步骤详解

第一步:准备公网服务器(frps)

你需要一台有公网IP的Linux服务器(推荐腾讯云/阿里云轻量应用服务器)。下载对应平台的frp发行包:

wget https://github.com/fatedier/frp/releases/latest/download/frp_0.51.3_linux_amd64.tar.gz tar -zxpf frp_0.51.3_linux_amd64.tar.gz cd frp_0.51.3_linux_amd64

编写服务端配置文件:

# frps.ini [common] bind_port = 7000 vhost_http_port = 8080 dashboard_port = 7500 dashboard_user = admin dashboard_pwd = your_secure_password token = very_long_and_random_string_here

启动服务端:

nohup ./frps -c frps.ini > frps.log 2>&1 &

此时:
-7000端口用于接收 frpc 连接;
-8080端口用于HTTP服务映射;
- 访问http://你的公网IP:7500可查看实时连接状态(账号密码见配置)。

别忘了在云平台安全组中放行这些端口!

第二步:配置本地客户端(frpc)

在运行 HeyGem 的主机上同样解压 frp 客户端,并创建配置文件:

# frpc.ini [common] server_addr = x.x.x.x # 替换为你的公网服务器IP server_port = 7000 token = very_long_and_random_string_here [heygem-web] type = http local_ip = 127.0.0.1 local_port = 7860 custom_domains = heygem.yourdomain.com

保存后启动:

./frpc -c frpc.ini

如果看到日志输出类似start proxy success,说明隧道已建立成功。

第三步:绑定域名 & 启动服务

heygem.yourdomain.com的 DNS A 记录指向你的公网服务器IP。没有域名?也可以直接访问http://x.x.x.x:8080(注意开放8080端口)。

最后,在本地启动 HeyGem:

bash start_app.sh

现在,无论你在世界哪个角落,打开浏览器输入http://heygem.yourdomain.com,就能看到熟悉的 WebUI 界面了。

🔐安全建议

  • token必须足够复杂,避免暴力破解;
  • 生产环境建议配合 Nginx + Let’s Encrypt SSL 证书启用 HTTPS;
  • 使用 systemd 将 frpc 设为开机自启:

```systemd

/etc/systemd/system/frpc.service

[Unit]
Description=frp client
After=network.target

[Service]
Type=simple
ExecStart=/path/to/frpc -c /path/to/frpc.ini
Restart=always

[Install]
WantedBy=multi-user.target
```

启用服务:systemctl enable frpc && systemctl start frpc


ngrok:一行命令,立即可用

如果说 frp 是自己盖房子,那 ngrok 就是拎包入住的公寓。它最大的优势在于无需任何服务器部署,一条命令即可获得临时公网地址,特别适合调试、演示或短期协作。

它为什么这么方便?

ngrok 背后是一整套中心化基础设施。当你执行ngrok http 7860,ngrok 的云端服务会为你分配一个唯一的子域名(如https://a1b2c3d4.ngrok.io),并自动建立加密隧道。所有流量都经过其全球节点转发,省去了自建服务器的麻烦。

实战操作流程

  1. 注册账号并获取 authtoken(登录 ngrok.com 后可见)
  2. 下载客户端并授权:
./ngrok config add-authtoken <your_token>
  1. 映射 HeyGem 服务:
./ngrok http 7860

输出示例:

Forwarding https://a1b2c3d4.ngrok.io -> http://localhost:7860

复制链接发给任何人,他们就能立即访问你的本地 HeyGem 页面!

适合哪些场景?

  • 远程调试:开发过程中让同事快速复现问题;
  • 客户演示:临时分享体验链接,结束后关闭终端即失效;
  • 教学培训:学生无需理解网络原理,一键暴露本地项目;
  • 移动办公:出差时用笔记本跑模型,仍能远程访问。

⚠️ 注意事项

  • 免费版每次重启都会变链接,不适合长期使用;
  • 带宽和并发有限制,大文件下载可能卡顿;
  • Pro版本支持自定义域名、静态TCP端口、私有区域部署,适合企业级需求;
  • 开源替代品如inletslocaltunnel也可考虑,但功能较弱。

在 HeyGem 系统中的实际集成

在一个典型的数字人视频生成流程中,内网穿透并不参与核心计算,但它决定了系统的可达性与协作效率

典型架构图

[外部用户] ↓ (HTTPS) [heygem.ai-company.com] ↓ [frps / ngrok cloud] ↑↓ 加密隧道 [frpc / ngrok agent] ←→ [HeyGem @ :7860] ↓ [音频驱动 | 视频渲染 | 输出存储]

当用户上传一段音频和参考视频,提交生成任务后,即使你正在地铁上,也能通过手机浏览器随时查看任务进度条。处理完成后的MP4文件可通过WebUI一键打包下载,全程无需U盘拷贝或微信传文件。

实际痛点解决案例

场景解法
实验室服务器无公网IPfrp隧道穿透校园网限制
客户不想安装软件只想试用提供ngrok临时链接在线体验
批量生成耗时数小时需监控外网实时查看日志与进度
团队多地协同制作内容统一入口+权限管理

结合 Linux 命令还可实现自动化运维:

# 实时观察运行日志 tail -f /root/workspace/运行实时日志.log # 检查frpc是否存活 ps aux | grep frpc # 清理输出目录防止爆盘 find outputs/ -mtime +7 -exec rm -rf {} \;

如何选择?frp vs ngrok 怎么选

维度frpngrok
是否需要自建服务器
成本低(约¥50/月起)免费版免费,Pro版$10+/月
稳定性高(自主可控)中(依赖第三方服务)
配置难度中等极简
适用周期长期运行临时/短期
自定义域名支持Pro版支持
数据安全性高(可私有部署)中(流量经第三方)
适合人群企业、开发者、运维快速原型、教学、个人项目

简单来说:
- 想要稳定、安全、长期使用→ 选frp
- 想要秒级上线、快速分享→ 选ngrok

两者甚至可以共存:日常开发用 ngrok 快速测试,上线后切换至 frp 提供正式服务。


最佳实践建议

  1. 命名规范
    使用清晰的子域名,如heygem-dev.company.comheygem-demo.company.com,便于区分环境。

  2. 进程守护
    不要让 frpc 运行在前台终端!务必用 systemd 或 supervisor 管理,防止意外中断。

  3. 日志监控
    定期检查 frp 日志,关注重连次数、延迟变化,及时发现网络波动。

  4. 带宽评估
    HeyGem 生成的视频通常较大(几十MB~数GB),确保中转服务器带宽充足(建议至少5Mbps上行)。

  5. 安全加固
    - 关闭不必要的 dashboard 接口;
    - 使用 TLS 加密通信(frp 支持tls_only = true);
    - 结合 Nginx 添加 Basic Auth 认证层。

  6. 成本控制
    对于非7×24小时使用的场景,可选用按量计费的云服务器,不用时关机节省开支。


这种“本地运行 + 公网可访”的模式,正在成为AI工程化的新常态。无论是 Stable Diffusion、本地大模型对话系统,还是语音克隆工具,只要有一个Web界面,都可以通过同样的方式对外暴露。

掌握 frp 和 ngrok 的使用方法,不只是为了访问一个 HeyGem 页面,更是构建现代AI工作流的基础能力之一。下一次当你在本地跑完一个惊艳的生成结果,别再截图发群了——直接甩出一个链接:“点开就能看,不限地域。”

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/17 5:24:42

【C#跨平台权限系统设计】:从零构建高安全权限控制体系

第一章&#xff1a;C#跨平台权限系统设计概述在现代软件开发中&#xff0c;构建一个安全、灵活且可扩展的权限系统是保障应用数据完整性和用户隐私的核心环节。随着 .NET 平台对跨平台支持的不断深化&#xff0c;C# 应用已广泛部署于 Windows、Linux 和 macOS 等多种环境中&…

作者头像 李华
网站建设 2026/4/18 23:22:55

音频清晰度影响大吗?HeyGem对人声音频质量的要求解析

音频清晰度影响大吗&#xff1f;HeyGem对人声音频质量的要求解析 在数字人视频生成技术迅速普及的今天&#xff0c;越来越多的企业开始用AI驱动的虚拟形象替代传统的人工录制。无论是线上课程讲解、智能客服应答&#xff0c;还是品牌宣传短片&#xff0c;用户期待的不再只是“能…

作者头像 李华
网站建设 2026/4/18 0:22:27

基于stm32的8层楼房电梯控制系统(有完整资料)

资料查找方式&#xff1a;特纳斯电子&#xff08;电子校园网&#xff09;&#xff1a;搜索下面编号即可编号&#xff1a;T2052405M设计简介&#xff1a;本设计是基于STM32的8层楼房电梯控制系统&#xff0c;主要实现以下功能&#xff1a;&#xff08;1&#xff09;电梯有上升和…

作者头像 李华
网站建设 2026/4/20 7:45:54

主构造函数的正确打开方式,99%新手忽略的关键细节与陷阱规避

第一章&#xff1a;主构造函数的正确打开方式&#xff0c;99%新手忽略的关键细节与陷阱规避在面向对象编程中&#xff0c;主构造函数是类实例化的入口&#xff0c;其设计直接影响对象状态的完整性和代码的可维护性。许多开发者仅将其视为参数传递的通道&#xff0c;却忽略了初始…

作者头像 李华
网站建设 2026/4/19 5:15:04

笑到劈叉的 “老公专属备注”

剩饭消灭机&#x1f35a;&#x1f436;杠精小柴犬&#x1f3ae;游戏失踪人口&#x1f961;外卖点单侠&#x1f576;️装酷失败王&#x1f924;干饭第一名&#x1f4f1;手机粘手怪&#x1f5e3;️废话输出机&#x1f9e6;袜子失踪犯&#x1f6b6;摆烂散步员

作者头像 李华
网站建设 2026/4/18 13:30:38

集合表达式性能提升迫在眉睫:你还在写低效的Add语法吗?

第一章&#xff1a;集合表达式性能提升迫在眉睫&#xff1a;从Add语法到现代初始化的演进在现代软件开发中&#xff0c;集合操作的性能直接影响应用程序的整体响应速度与资源消耗。传统通过循环调用 Add 方法逐个添加元素的方式&#xff0c;虽然逻辑清晰&#xff0c;但在处理大…

作者头像 李华