服务器认证设置
为 Ollama 服务器配置 Basic Auth 认证
概述
OllaMan 支持通过 Basic Auth 连接到受保护的 Ollama 服务器。由于 Ollama 本身不提供认证功能,你需要通过反向代理(如 Nginx、Caddy 等)来配置认证保护。
何时使用认证
在以下情况下,强烈建议为 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):输入 Nginx 代理的地址(例如
http://192.168.1.100:8080) - Username(用户名):输入认证用户名
- Password(密码):输入认证密码
测试连接
点击 "Test Connection"(测试连接)按钮。
如果认证信息正确,你会看到:
- Connected(已连接):绿色指示器
- 服务器版本信息
如果认证失败,会显示:
- Connection Failed(连接失败):红色指示器
- 错误信息(通常是 "401 Unauthorized")
保存配置
测试成功后,点击 "Save"(保存)按钮。
OllaMan 会自动检测你是否填写了认证信息,并在所有请求中自动添加 Basic Auth 头。
安全最佳实践
保护你的服务器
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 文档