news 2026/3/15 0:47:23

内网穿透实现公网访问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/3/13 10:32:41

【C# 12顶级语句优化秘籍】:掌握高效编程的7个关键技巧

第一章&#xff1a;C# 12顶级语句概述C# 12 引入了更简洁的编程体验&#xff0c;其中顶级语句&#xff08;Top-level statements&#xff09;特性得到了进一步优化。开发者无需手动编写类和 Main 方法即可构建可执行程序&#xff0c;编译器会自动将顶级语句视为程序入口点。简化…

作者头像 李华
网站建设 2026/3/13 9:15:46

第二届通信技术与数据安全国际研讨会(CTADS 2026)

第二届通信技术与数据安全国际研讨会(CTADS 2026) 将于2026年3月6日-3月8日在广州召开&#xff0c;聚焦无线通信、5G/6G、物联网、网络安全、加密技术及区块链等前沿领域。大会旨在促进通信技术创新与数据安全保障&#xff0c;搭建学术与产业交流平台&#xff0c;推动跨领域合…

作者头像 李华
网站建设 2026/3/13 16:36:34

中兴通讯5G建设成就:权威专家形象数字人对外宣讲

中兴通讯5G建设成就&#xff1a;权威专家形象数字人对外宣讲 在5G网络加速落地的今天&#xff0c;通信企业不仅要建得好基站、跑得通数据&#xff0c;更要讲得清技术、传得开价值。中兴通讯作为全球领先的通信设备制造商&#xff0c;在5G端到端系统部署上已实现大规模商用&…

作者头像 李华
网站建设 2026/3/13 3:36:04

C#集合初始化新写法:8种你不知道的表达式技巧(资深架构师推荐)

第一章&#xff1a;C#集合表达式扩展的演进与意义C# 作为一门现代化的面向对象编程语言&#xff0c;持续在语法层面进行优化与增强。集合表达式的扩展是近年来 C# 语言演进中的重要组成部分&#xff0c;显著提升了开发者在处理数据集合时的表达力与简洁性。集合初始化的语法进化…

作者头像 李华
网站建设 2026/3/13 10:52:45

C# 11/12集合表达式性能陷阱,资深架构师绝不外传的3条铁律

第一章&#xff1a;C#集合表达式性能问题的深层认知在现代C#开发中&#xff0c;集合操作已成为日常编码的核心部分。随着LINQ和集合表达式的广泛使用&#xff0c;开发者往往忽略了其背后的执行机制&#xff0c;从而引入潜在的性能瓶颈。理解这些表达式的延迟执行、内存分配模式…

作者头像 李华
网站建设 2026/3/14 6:20:17

HeyGem支持哪些音频格式?wav、mp3、m4a等兼容性全面测试

HeyGem 音频格式兼容性深度解析&#xff1a;从 WAV 到 M4A 的全链路实践 在数字人技术加速落地的今天&#xff0c;一个看似微小却至关重要的问题正频繁出现在实际项目中&#xff1a;为什么我上传的录音生成的口型对不上&#xff1f; 答案往往藏在音频文件本身。无论是来自 iPho…

作者头像 李华