Ollama远程访问FRP内网穿透配置教程
为什么要用FRP实现Ollama远程访问?
本地跑Ollama方便,但外出或在其他设备上调用API就成了难题——家庭宽带基本没有公网IPv4。
FRP(Fast Reverse Proxy)能帮你把本地的Ollama服务通过一台有公网IP的服务器“中转”出去,这样你就能从任何地方通过公网域名或IP访问本地的Ollama接口。
本文适合刚接触内网穿透的用户,所有命令和配置都可以直接复制使用。
准备工作:你需要哪些东西?
- 一台公网服务器(VPS),比如阿里云、腾讯云轻量应用服务器,系统推荐Debian 11/12 或 Ubuntu 22.04。
- 一个域名(可选),用于绑定FRP服务端,方便记忆。
- 本地运行Ollama的机器(Windows/Linux/Mac均可),已安装Ollama并能正常使用。
- SSH客户端(如Xshell、Putty或终端)用来远程操作服务器。
第一步:在公网服务器上部署FRP服务端
登录你的VPS,执行以下命令下载FRP(以0.58.0为例,建议去GitHub查看最新版本):
wget https://github.com/fatedier/frp/releases/download/v0.58.0/frp_0.58.0_linux_amd64.tar.gz
tar -xzf frp_0.58.0_linux_amd64.tar.gz
cd frp_0.58.0_linux_amd64
编辑服务端配置文件 frps.toml(0.52.0以上版本改用TOML格式;
旧版为frps.ini,请根据版本调整):
[common]
bind_port = 7000
dashboard_port = 7500
dashboard_user = admin
dashboard_pwd = 你的密码
token = 你的令牌 # 建议设置,提高安全性
启动服务端:
./frps -c frps.toml
若要后台运行,可使用 screen 或 nohup:
nohup ./frps -c frps.toml > frps.log 2>&1 &
注意: 记得在服务器防火墙和安全组中放行 7000(FRP通信端口)和 7500(管理面板端口)。
第二步:让Ollama监听所有网络接口
默认Ollama只监听 127.0.0.1,需要更改为 0.0.0.0。
Windows下设置系统环境变量:
- 变量名:
OLLAMA_HOST - 变量值:
0.0.0.0
重启Ollama服务。
Linux/Mac命令行方式:
export OLLAMA_HOST=0.0.0.0
ollama serve
检查是否生效:在本地执行 curl http://localhost:11434/api/tags 应能正常返回模型列表。
第三步:配置本地FRP客户端连接服务端
在本地机器上下载FRP(对应系统版本),解压后编辑 frpc.toml:
[common]
server_addr = 你的VPS公网IP
server_port = 7000
token = 你的令牌 # 与服务端一致
[ollama]
type = tcp
local_ip = 127.0.0.1
local_port = 11434
remote_port = 11434 # 如果公网服务器11434已被占用,可换成其他端口,如21434
启动FRP客户端:
./frpc -c frpc.toml
看到 start proxy success 表示连接成功。
第四步:避坑指南与常见问题
1. 防火墙与安全组
公网服务器的安全组必须放行 remote_port 设置的端口(本例为11434),否则外网无法访问。
另外,建议不要将FRP管理面板的端口暴露到公网,或修改默认账户密码。
2. Ollama绑定问题
如果 OLLAMA_HOST 没设置或设置错误,Ollama仍只监听127.0.0.1,FRP客户端便无法转发成功。
验证方法:在本地执行 netstat -an | grep 11434,应看到 0.0.0.0:11434 或 *:11434。
3. 端口冲突
公网服务器上的 remote_port 若已被其他服务占用,会报 port already used。
解决办法:换个端口,比如 21434。
4. 客户端自动重连
FRP客户端支持自动重连,但建议用 systemd 管理服务端和客户端进程,避免因SSH断开导致服务停止。
第五步:验证远程访问是否生效
在任意外网机器上执行:
curl http://你的VPS公网IP:11434/api/tags
如果返回JSON格式的模型列表,说明Ollama远程访问配置成功。
也可以替换域名进行测试(需先将域名解析到公网IP)。
常见问答
- 问:为什么curl返回连接超时?
答:检查服务端防火墙、安全组是否放通对应端口;
确认FRP服务端和客户端都在运行;
查看FRP日志(frps.log 或客户端屏幕输出)是否有异常。
- 问:能否用FRP同时暴露多个Ollama实例?
答:可以,在FRP客户端配置中增加多个 [名称] 段,使用不同 local_port 和 remote_port 即可。
- 问:电脑断电后需要重新配置吗?
答:如果FRP客户端没有设置为自动启动,需要重新运行。
建议将启动命令加入系统服务或开机脚本。
如果你正在处理Ollama远程访问FRP内网穿透配置,建议先按本文步骤完整执行,再根据自己的环境做微调;
遇到异常时优先回看避坑和高频问题部分。