服务器认证设置
为 Ollama 服务器配置 Basic Auth、Bearer Token 或自定义请求头认证
概述
OllaMan 支持四种认证方式连接到受保护的 Ollama 服务器:
| 方式 | 适用场景 | 发送的请求头 |
|---|---|---|
| 无(None) | 本地或可信内网 | 无 |
| Basic Auth | 自建反向代理(Nginx、Caddy 等)保护的服务器 | Authorization: Basic <base64(user:pass)> |
| Bearer Token | API 网关 / Cloudflare Tunnel 等要求令牌鉴权的场景 | Authorization: Bearer <token> |
| 自定义请求头(Custom) | Cloudflare Access 等使用非 Authorization 头的网关方案 | 任意键值对,如 CF-Access-Client-Id / CF-Access-Client-Secret |
由于 Ollama 本身不提供认证功能,你需要通过反向代理或网关来配置认证保护。下方先介绍服务端的常见配置,再说明如何在 OllaMan 中选择对应的认证方式。
何时使用认证
在以下情况下,强烈建议为 Ollama 服务器启用认证:
- 服务器暴露在互联网上:任何可以从公网访问的服务器都应该受到保护
- 多个用户访问同一服务器:防止未授权访问和滥用
- 安全策略要求认证:组织或团队的安全规范要求
- 保护敏感模型:当服务器上运行着专有或敏感的 AI 模型时
为 Ollama 配置认证
使用 Nginx 配置 Basic Auth
Nginx 是最常用的反向代理服务器,以下是完整的配置步骤:
安装必要工具
首先确保系统上安装了 Nginx 和 Apache 工具包(用于生成密码文件):
# Ubuntu/Debian
sudo apt update
sudo apt install nginx apache2-utils
# macOS
brew install nginx创建密码文件
使用 htpasswd 命令创建认证用户和密码:
sudo htpasswd -c /etc/nginx/.htpasswd username系统会提示你输入密码。添加更多用户时,去掉 -c 参数:
sudo htpasswd /etc/nginx/.htpasswd another_user配置 Nginx 反向代理
创建或编辑 Nginx 配置文件(例如 /etc/nginx/sites-available/ollama):
server {
listen 8080;
server_name your-server-domain.com;
location / {
# 启用 Basic Auth
auth_basic "Ollama Server";
auth_basic_user_file /etc/nginx/.htpasswd;
# 代理到 Ollama 默认端口
proxy_pass http://localhost:11434;
# 必要的代理头
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
# 处理 WebSocket 连接(如果需要)
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
# 超时设置(大模型推理可能需要较长时间)
proxy_read_timeout 300s;
proxy_connect_timeout 75s;
}
}端口说明:在这个配置中,Nginx 监听 8080 端口并转发到 Ollama 默认的 11434 端口。Ollama 保持在 localhost:11434 运行,不需要修改任何配置。客户端通过 http://your-server:8080 访问受保护的 Ollama 服务。
启用并重启 Nginx
# 创建符号链接(Ubuntu/Debian)
sudo ln -s /etc/nginx/sites-available/ollama /etc/nginx/sites-enabled/
# 测试配置
sudo nginx -t
# 重启 Nginx
sudo systemctl restart nginx测试认证配置
使用 curl 测试 Basic Auth 是否正常工作:
# 测试未认证请求(应该失败)
curl http://localhost:8080/api/tags
# 测试认证请求(应该成功)
curl -u username:password http://localhost:8080/api/tags成功的响应应该返回模型列表,失败会返回 401 Unauthorized 错误。
使用 Caddy 配置 Basic Auth
Caddy 是另一个流行的反向代理,配置更加简单:
安装 Caddy
# Ubuntu/Debian
sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list
sudo apt update
sudo apt install caddy
# macOS
brew install caddy生成密码哈希
caddy hash-password输入密码后,复制生成的哈希值。
配置 Caddyfile
创建或编辑 /etc/caddy/Caddyfile:
:8080 {
basicauth {
username $2a$14$hashed_password_here
}
reverse_proxy localhost:11434
}将 $2a$14$hashed_password_here 替换为前面生成的密码哈希。
Caddy 监听 8080 端口并转发到 Ollama 默认的 11434 端口,无需修改 Ollama 配置。
重启 Caddy
sudo systemctl restart caddy在 OllaMan 中配置认证
服务端配置好认证后,在 OllaMan 中添加或编辑服务器时选择对应的认证方式:
打开服务器设置
点击侧边栏的设置图标,然后选择 Servers(服务器)选项卡。

添加或编辑服务器
点击 "Add Server"(添加服务器)按钮,或编辑现有服务器。
选择认证方式
在服务器配置表单中,先填写基础信息:
- Server Name(服务器名称):为服务器取一个易于识别的名称
- Server URL(服务器 URL):输入代理或网关的地址(例如
http://192.168.1.100:8080)
然后在 Authentication(身份认证)区域,通过分段切换选择与服务器端匹配的认证方式:
无(None)
默认选项。不需要填写任何凭据,适合本地或可信内网环境。
Basic
对应服务端 Nginx/Caddy 的 Basic Auth:
- Username(用户名):认证用户名
- Password(密码):认证密码(输入框右侧 👁 图标可临时显示明文)
历史兼容:从旧版本升级时,已配置过的用户名 / 密码会被自动识别为 Basic 认证,无需手动迁移。
Bearer
对应 API 网关或 Cloudflare Tunnel 要求的 Bearer Token 鉴权:
- Token:粘贴你的访问令牌(输入框右侧 👁 图标可临时显示明文)
- 粘贴时若误带了
Bearer前缀,会自动去掉,不会变成Bearer Bearer xxx
自定义(Custom)
对应 Cloudflare Access 等不使用 Authorization 头的网关:
- 点击 "Add Header"(添加请求头)新增键值对
- 常见示例:Cloudflare Access 的
CF-Access-Client-Id与CF-Access-Client-Secret - 支持一次添加多对请求头
切换认证方式时数据保留:在 Basic / Bearer / Custom 之间来回切换时,各自已填写的内容会保留,方便对比。保存时只会保留当前方式相关的字段,与当前方式无关的凭据会被自动清除,避免遗留无用敏感信息。
测试连接
点击 "Test Connection"(测试连接)按钮。
如果认证信息正确,你会看到:
- Connected(已连接):绿色指示器
- 服务器版本信息
如果认证失败,会显示:
- Connection Failed(连接失败):红色指示器
- 错误信息(通常是 "401 Unauthorized")
保存配置
测试成功后,点击 "Save"(保存)按钮。
服务器列表中,配置了认证的服务器会显示一个紫色徽标,标识所使用的认证方式(None 不显示徽标)。OllaMan 会自动在所有请求中(包括流式聊天和模型上传)带上对应的认证头。
安全最佳实践
保护你的服务器
HTTPS 配置(推荐)
对于生产环境和互联网访问,强烈建议配置 HTTPS:
使用 Let's Encrypt 和 Nginx
# 安装 Certbot
sudo apt install certbot python3-certbot-nginx
# 获取证书并自动配置 Nginx
sudo certbot --nginx -d your-domain.com使用 Caddy(自动 HTTPS)
Caddy 会自动为你的域名申请和续期 SSL 证书:
your-domain.com {
basicauth {
username $2a$14$hashed_password_here
}
reverse_proxy localhost:11434
}重启 Caddy 后,它会自动申请并配置 SSL 证书。
OllaMan 文档