FRP 0.62.0 + Mac Ollama 公网穿透部署+排障实录(标准 TOML 格式)

FRP 0.62.0 + Mac Ollama 公网穿透部署+排障实录(标准 TOML 格式)


前言

在使用 Mac 本地 Ollama + FRP 0.62.0 公网穿透 实现外网访问本地大模型时,遇到一个极其隐蔽的坑:
FRP 服务端/客户端全启动成功、防火墙全放行、端口监听正常,但 curl 公网地址无任何输出、无法访问。

本文包含 FRP 0.62.0 下载安装 + 标准 TOML 配置 + 完整排障 + 终极解决方案,所有配置均为官方标准格式,可直接复制使用。


一、环境说明

  • 本地设备:MacOS(Intel / Apple Silicon)
  • 本地服务:Ollama(大模型推理服务,默认端口 11434)
  • 穿透工具:FRP 0.62.0(2025 最新版,配置格式重构)
  • 服务端:Linux 云服务器
  • 目标:公网访问本地运行的 Ollama 服务

二、FRP 0.62.0 下载与安装

1. 官方下载地址

https://github.com/fatedier/frp/releases/tag/v0.62.0

2. Linux 服务端安装

bash 复制代码
# 下载
wget https://github.com/fatedier/frp/releases/download/v0.62.0/frp_0.62.0_linux_amd64.tar.gz

# 解压
tar -zxvf frp_0.62.0_linux_amd64.tar.gz
cd frp_0.62.0_linux_amd64

3. Mac 客户端安装

bash 复制代码
# Apple Silicon
https://github.com/fatedier/frp/releases/download/v0.62.0/frp_0.62.0_darwin_arm64.tar.gz

# Intel
https://github.com/fatedier/frp/releases/download/v0.62.0/frp_0.62.0_darwin_amd64.tar.gz

解压后直接进入目录使用即可。


三、FRP 0.62.0 标准 TOML 配置(无报错版)

FRP 0.62+ 弃用了旧版字段,必须使用标准 TOML 结构,否则直接报错:

  • unknown field "dashboardPort"
  • unknown field "vhostHTTPPort"
  • unknown field "authToken"

1. 服务端配置 frps.toml(标准 TOML)

toml 复制代码
# 监听地址与端口
bindAddr = "0.0.0.0"
bindPort = 7000

# 认证配置
[auth]
method = "token"
token = "your-security-token"

# Web 仪表盘
[webServer]
port = 7500
user = "admin"
password = "your-dashboard-password"

2. 客户端配置 frpc.toml(标准 TOML)

toml 复制代码
# 服务器地址
serverAddr = "your-server-ip"
serverPort = 7000

# 认证配置
[auth]
method = "token"
token = "your-security-token"

# 代理规则(TCP 穿透 Ollama)
[[proxies]]
name = "ollama"
type = "tcp"
localIP = "127.0.0.1"
localPort = 11434
#remotePort可以任意设置
remotePort = 11434

四、启动 FRP 服务

1. 服务端启动

bash 复制代码
./frps -c frps.toml

2. 客户端启动

bash 复制代码
./frpc -c frpc.toml

出现以下日志即为启动成功:

复制代码
login to server success
[ollama] start proxy success

五、问题现象

一切看起来正常:

  • FRP 启动成功
  • 端口已放行
  • 本地 Ollama 监听正常
  • 但 curl 公网IP:11434 无任何输出

六、完整排查过程

1. 检查服务器防火墙

bash 复制代码
sudo iptables -L -n | grep 11434
sudo iptables -L -n | grep 7000

结果:端口全放行,无限制。

2. 检查端口监听

bash 复制代码
sudo lsof -i:11434

发现异常:

复制代码
ollama  TCP localhost:11434 (LISTEN)
ollama  TCP *:11434 (LISTEN)

双进程冲突,杀掉自动复活。

3. 检查 Ollama 启动参数

bash 复制代码
OLLAMA_HOST=0.0.0.0 OLLAMA_ORIGINS="*" ollama serve

依旧无效。


七、终极真凶(99% 用户踩坑)

Mac 端 Ollama UI 图形界面在后台运行!

  • GUI 会强制占用 11434 端口
  • 强制监听 127.0.0.1
  • 禁止外部访问
  • 杀进程 → 自动复活
  • 改配置 → 强制覆盖

只要 GUI 不退出,任何配置都无效!


八、终极解决方案

1. 退出 Mac 顶部菜单栏 Ollama GUI

2. 命令行启动 Ollama

bash 复制代码
OLLAMA_HOST=0.0.0.0 OLLAMA_ORIGINS="*" ollama serve

3. 启动 frpc

bash 复制代码
./frpc -c frpc.toml

4. 测试访问

bash 复制代码
curl http://your-server-ip:11434/api/tags

立即返回模型列表,穿透成功!


九、避坑总结(核心)

  1. FRP 0.62+ 必须使用 标准 TOML 配置
  2. Mac 上使用 Ollama 命令行必须 退出 GUI
  3. Ollama 默认只监听本地,必须指定 0.0.0.0
  4. 服务器防火墙 + 云安全组都要放行
  5. 端口冲突、进程复活 99% 是 GUI 导致

十、一句话总结

Mac Ollama + FRP 穿透,不退出 GUI,一切配置都白费!


标签

#FRP #Ollama #公网穿透 #Mac #大模型部署 #FRP0.62.0 #TOML配置 #排障实录


相关推荐
_upupup7 小时前
Linux的调试工具——gdb/cgdb
linux·服务器
JeJe同学7 小时前
Docker镜像导入、容器启动
linux·运维·docker
Jason_zhao_MR7 小时前
Linux与实时控制如何兼得
linux·嵌入式硬件·机器人·工业控制
闲云野鹤在人间8 小时前
MySQL|从理论、安装、备份到主从复制、MHA高可用详解
linux·运维·数据库·mysql·云计算
一个风轻云淡9 小时前
GCC 和 GDB命令简单解读
java·linux·前端
H.莓飛9 小时前
【数据结构】二叉树_OJ题
linux·开发语言·数据结构·算法
资料库019 小时前
Linux 8个常见运维故障排查
java·linux·运维
零基础12310 小时前
Ubuntu 常用命令汇总
linux·运维·开发语言
Android系统攻城狮11 小时前
Linux Gstreamer深度解析之gst_audio_sink_get_type调用流程与实战(六十五)
linux·运维·服务器·音视频·gstreamer音视频·音视频进阶·gstreamer音视频进阶
xiaoqiMikko11 小时前
Linux 实战(一):CentOS 7、Rocky 9、Ubuntu 24.04 三台真机实测 —— 认清系统、换源、装包的版本坑
linux·centos