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配置 #排障实录


相关推荐
星恒随风10 小时前
Linux 权限详解:从 rwx、chmod 到 umask、目录权限与粘滞位
linux·运维·服务器·笔记·学习
拳里剑气10 小时前
Linux:进程间通信
linux·运维·数据库·进程
lsh曙光10 小时前
防火墙-iptables
linux
阳光九叶草LXGZXJ10 小时前
达梦数据库-报错-12-[-7184]:对象定义[XXX]被修改,版本检查失败
linux·运维·服务器·数据库·sql·学习
JXCY13S50511 小时前
集群及lvs基础知识
运维·服务器
小此方11 小时前
Re:Linux系统篇(四十九)线程篇 · 二:为什么现代操作系统选择分页式存储?分页如何解决物理内存碎片?分页结构如何演化到页表、页目录、MMU?
linux·运维·驱动开发
Huangjin007_11 小时前
【Linux 系统篇(十一)】基础开发工具(六) —— 版本控制器 Git
linux·运维·git
j7~12 小时前
【Linux】二十六.线程篇三《Linux多线程编程:线程控制、线程ID以及进程地址空间分布、线程局部存储__thread以及clone系统调用》---详解
linux·运维·服务器·开发语言·c++·多线程编辑·线程的控制
PC2005-cloud19 小时前
博文已索引但不展示:一次 Bing SEO 问题排查记录
服务器·人工智能
沸速存储19 小时前
整机瓶颈判断思路,自上而下定位卡顿根源
运维·服务器·电脑·内容运营