Ollama v0.31新版本安全配置避坑完整教程

Ollama 默认安装后监听 127.0.0.1:11434,仅限本机访问。
但很多新手为了远程使用或部署服务,会修改监听地址到 0.0.0.0,直接暴露整个 API 端口,没有任何鉴权。
Ollama v0.31 版本虽然新增了 API_KEY 支持,但默认并不启用,必须手动配置。
本文针对 v0.31 版本的安全配置,列出从准备到验证的完整步骤,以及最容易掉进去的坑。

准备工作

  • 已安装 Ollama v0.31(可通过 ollama --version 确认)
  • 操作系统:Linux(本文以 Ubuntu 22.04 为例,Windows/WSL 类似)
  • 具有 sudo 权限,能修改系统环境变量和防火墙规则
  • 如果在远程服务器操作,请确保你当前有替代登录方式(如 SSH),避免锁住自己

步骤一:检查当前监听状态

先看 Ollama 目前绑在哪个地址。
运行:

sudo netstat -tlnp | grep 11434

如果显示 127.0.0.1:11434 表示安全;
如果显示 0.0.0.0:11434 则已暴露。
再看环境变量:

echo $OLLAMA_HOST

如果输出 0.0.0.0::,说明你之前手动改过监听,这是风险来源。

步骤二:启用 API 密钥鉴权(v0.31 关键特性)

Ollama v0.31 新增通过环境变量 OLLAMA_API_KEY 启用秘钥验证。
设置方式:

sudo mkdir -p /etc/systemd/system/ollama.service.d
sudo tee /etc/systemd/system/ollama.service.d/override.conf <

重要:替换 your-strong-random-key 为长随机字符串。
重启后,所有 API 请求必须带上 HTTP 头 Authorization: Bearer your-strong-random-key,否则返回 401。

步骤三:限制绑定地址与防火墙规则

即使加了密钥,也不建议监听 0.0.0.0
建议仅绑定内网 IP 或 127.0.0.1,如需外网访问应使用 nginx 反向代理 + HTTPS。

修改绑定地址(同样通过环境变量):

sudo tee -a /etc/systemd/system/ollama.service.d/override.conf <

如果需要让内网其他机器访问,可改为内网 IP,例如 192.168.1.100:11434,但配合防火墙只允许特定 IP。

配置 UFW 防火墙(示例:只允许 192.168.1.0/24 访问 11434 端口):

sudo ufw allow from 192.168.1.0/24 to any port 11434
sudo ufw deny 11434  # 先拒绝所有,再放行指定网段(顺序重要)
# 注意:先添加允许规则,再添加 deny,否则会全部拒绝
sudo ufw reload

步骤四:验证安全配置是否生效

  1. 本地无密钥请求应被拒绝
   curl http://127.0.0.1:11434/api/tags

返回 {"error":"unauthorized"} 说明鉴权正常。

  1. 带正确密钥请求应成功
   curl -H "Authorization: Bearer your-strong-random-key" http://127.0.0.1:11434/api/tags

应返回模型列表。

  1. 远程访问测试:从另一台机器 curl http://服务器IP:11434/api/tags,如果防火墙规则生效,连接会超时或被拒绝。

避坑说明

  • 环境变量优先级/etc/systemd/system/ollama.service.d/override.conf 中设置的变量优先于系统环境。修改后必须 daemon-reloadrestart
  • 客户端头名称:必须使用 Authorization: Bearer ,大小写敏感,空格不能错。很多新手写成 bearer 小写导致 401。
  • 防火墙规则顺序:UFW 规则有先后,先放行再拒绝才有效。如果先 deny all,再 allow 会被覆盖。建议使用 sudo ufw status numbered 检查顺序。
  • Docker 部署注意:如果使用 Docker,环境变量通过 -e OLLAMA_API_KEY=xxx 传入,且端口映射 (-p) 最好映射到 127.0.0.1 或使用 Docker 网络隔离。
  • 不要只用密钥就暴露端口:密钥是明文传输,建议仍结合 HTTPS 使用。

高频问题解答

Q:设置 API_KEY 后 ollama 启动失败,日志提示无效?
A:检查环境变量名称是否完全正确 OLLAMA_API_KEY(注意下划线)。另外 v0.31 以下版本不支持该变量,请升级。

Q:我明明绑定了 127.0.0.1,为什么远程还能访问?
A:如果之前通过 ufwiptables 设置了端口转发或 DNAT,即使绑定 127.0.0.1 也可能被绕过。请检查 iptables -t nat -L

Q:如何在不重启 Ollama 的情况下临时开放某个 IP?
A:修改 UFW 规则后执行 sudo ufw reload 即可,无需重启 Ollama 服务。

总结

Ollama v0.31 的 API 密钥功能为服务加了一把锁,但前提是你主动开启,并配合绑定地址和防火墙形成多层防护。
按照本文步骤:先检查监听状态 → 启用 API_KEY → 限制绑定与防火墙 → 验证鉴权与连通性,即可避开大多数新手会犯的暴露风险。
遇到问题时优先回看环境变量配置和防火墙顺序,这两块是出坑高频区。

分享到:
上一篇
离线部署OneAPI无网络家用住宅服务器完整流程
下一篇
NAS飞牛N1部署NewAPI对接Ollama本地大模型
1
系统公告

机房迁移升级通知

尊敬的用户: IP 段 103.23.148.x、156.224.29.x 原香港一区线路波动、攻击频繁,平台定于 7 月 5 日凌晨分批迁移至香港 GIA 机房,硬件升级 AMD 铂金机型。 迁移均在凌晨操作,最大程度降低业务影响,迁移期间服务器临时关机; 升级后配置不降低、费用不涨价,数据默认同步迁移; 迁移后 IP 全部更换,请及时修改域名解析、防火墙白名单; 建议提前备份重要数据,有问题可联系在线客服。 感谢理解与支持! 泽御云科技 2026.06.30
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意