【大模型工具神器-——Ollama 外网穿透完全指南:从部署到踩坑实录】
本文详细介绍了如何通过内网穿透工具NATAPP实现Ollama大模型的外网访问。核心步骤包括:配置Ollama监听所有网卡、设置NATAPP隧道(需关闭"本地HTTPS"选项以避免协议冲突)、验证公网访问。重点记录了"Empty reply from server"错误的排查过程,指出协议不匹配是常见问题。文章还提供了安全加固建议(隧道密码/IP白名单等)、
大模型工具神器-——Ollama 外网穿透完全指南:从部署到踩坑实录
标签:Ollama, 内网穿透, NATAPP, 大模型部署, 踩坑
一、为什么需要外网穿透?
在家用显卡部署了 DeepSeek、Qwen 等大模型后,总想在公司、咖啡厅或手机上随时调用。但家庭宽带没有公网 IP,这就得靠内网穿透工具把 localhost:11434 映射到公网。本文记录完整部署流程,并分享一个坑了我两小时的「协议陷阱」。
二、完整部署步骤(3 步走)
Step 1:让 Ollama 监听所有网卡
默认安装后,Ollama 可能只监听 127.0.0.1,局域网都无法访问,更别提穿透。
操作:
-
右键托盘图标,Quit Ollama(完全退出)
-
设置系统环境变量(Windows 示例):
变量名:OLLAMA_HOST 变量值:0.0.0.0:11434设置路径:控制面板 → 系统 → 高级系统设置 → 环境变量 → 系统变量 → 新建
-
重启 Ollama 服务
ollama serve
验证:
# 在局域网另一台机器测试
curl http://192.168.1.xxx:11434/api/tags
能返回模型列表即成功 。
Step 2:配置内网穿透隧道(以 NATAPP 为例)
市面上工具很多(花生壳/cpolar/ngrok),原理相同,这里用 NATAPP 演示。
操作流程:
-
注册 & 下载客户端:https://natapp.cn/
-
购买免费隧道:控制台 → 购买隧道 → 免费隧道
-
配置关键参数:
- 本地端口:11434
- 本地 HTTPS:务必关闭 ❌
- 远程端口:随机或指定(付费)
⚠️ 踩坑预警:
本地 HTTPS不是给公网加证书,而是让 NATAPP 用 HTTPS 协议访问你本地的 Ollama!由于 Ollama 只支持 plain HTTP,开启此选项会导致协议握手失败,返回Empty reply from server。
-
启动客户端:
natapp -authtoken=你的Token获得公网地址:
http://learn.nat100.top
Step 3:验证公网访问
# 正确输出
C:\Users> curl http://learn.nat100.top/api/tags
{"models":[{"name":"qwen3-vl:8b","model":"qwen3-vl:8b","modified_at":"2025-12-25T03:16:29.1726812+08:00",...}]}
如果报 Empty reply from server,立即检查本地 HTTPS 是否关闭。

三、踩坑实录:Empty reply from server 的排查血泪史
问题现象
本地访问畅通无阻,公网域名却返回:
curl: (52) Empty reply from server
错误特征分析
- ✅ 隧道在线:NATAPP 后台显示绿色在线,流量计数增加
- ✅ 能建连:不是
Connection refused,说明端口通了 - ❌ 无响应:服务端接收请求后直接断开,没返回数据
根因定位
经过两小时排查,锁定 NATAPP 的「本地 Https」开关。开启后,NATAPP 会用 https://127.0.0.1:11434 访问 Ollama,但 Ollama 仅支持 HTTP,SSL 握手失败,直接断开连接。
解决方案
关闭「本地 Https」开关,使 NATAPP 以纯 TCP/HTTP 方式转发流量。修改后立即生效,公网访问成功 。
四、扩展:部署 Open-WebUI 界面
如需网页交互,可再部署 Open-WebUI 并穿透 8080/3000 端口:
pip install open-webui
open-webui serve --port 8080
穿透配置:
- 本地端口:8080
- 本地 HTTPS:关闭(同样陷阱)
- 浏览器访问:
http://你的域名:端口
五、安全加固建议
Ollama 默认无鉴权,公网暴露极其危险!
| 措施 | 操作 | 推荐度 |
|---|---|---|
| 隧道密码 | NATAPP/cpolar 控制台开启「访问验证」 | ⭐⭐⭐⭐⭐ |
| IP 白名单 | 限制只允许指定 IP 访问隧道 | ⭐⭐⭐⭐ |
| Web 认证 | Open-WebUI 设置登录账号密码 | ⭐⭐⭐⭐ |
| Nginx 反向代理 | 加一层 basic_auth 鉴权(高阶) | ⭐⭐⭐ |
| 用完即停 | 不需要时关闭隧道,减少攻击面 | ⭐⭐⭐⭐⭐ |
六、一键总结:5 分钟速查表
# 1. 配置 Ollama 监听所有网卡
OLLAMA_HOST=0.0.0.0:11434
# 可选:解决跨域问题
OLLAMA_ORIGINS=*
1. 让 Ollama 监听所有网卡
export OLLAMA_HOST=0.0.0.0:11434
ollama serve
2. 花生壳客户端新增映射
内网 127.0.0.1:11434 → 固定 https 域名
3. 远程调用
curl https://<你的域名>/api/chat -d '{"model":"deepseek-r1:1.5b","messages":[{"role":"user","content":"hello"}]}'
# 2. NATAPP 配置
本地端口:11434
本地 HTTPS:❌ 关闭
协议:HTTP / TCP
# 3. 验证
curl http://你的域名/api/tags
# 4. 安全
务必开启隧道访问密码!
七、其他穿透工具对比
| 工具 | 免费额度 | 固定域名 | 延迟 | 备注 |
|---|---|---|---|---|
| NATAPP | 1 条/月 1Mbps | 二级域名 | 国内低 | 配置简单,有上述协议坑 |
| 花生壳 | 1 条/永久 | 三级域名 | 国内低 | 老牌稳定,教程多 |
| cpolar | 1 条/永久 | 随机域名 | 中等 | 需安装本地服务 |
| ngrok | 2h 后随机 | 临时域名 | 国外高 | 开源,适合测试 |
八、结语
内网穿透本身不复杂,但魔鬼藏在细节里。这次教训让我明白:每个开关的含义必须吃透,不能凭感觉乱点。希望这篇「部署+踩坑」实录能帮你一步到位,少熬点夜。
原创不易,转载请注明出处。
参考资源:
- Ollama 官方文档
- NATAPP 使用指南
- 花生壳 Ollama 教程
- cpolar 配置案例
更多推荐


所有评论(0)