系统交互细节:1.使用Nginx反向代理ollama服务 2.配置header拦截验证API密钥 3.支持自定义密钥管理。注意事项:需提前安装ollama和Nginx。

核心功能:

  1. Nginx 反向代理本地 11434 端口的 Ollama 服务
  2. 请求头 API-Key 拦截验证
  3. Web 界面动态管理密钥(localStorage 持久化)
  4. 支持流式响应(SSE)

安装与配置步骤:

  1. 确保已安装 Ollama(默认端口 11434)
  2. 确保已安装 Nginx
  3. 将上方配置复制到 Nginx 配置文件 /etc/nginx/sites-available/ollama-proxy
# Ollama API 安全代理配置
# 将此配置添加到 Nginx 配置文件中

server {
    listen 80;
    server_name your-domain.com;  # 替换为您的域名或 IP

    location / {
        # API 密钥验证
        set $valid_key 0;
        
        if ($http_api_key ~* "^(mima)$") {
            set $valid_key 1;
        }
        
        if ($valid_key = 0) {
            return 401 '{"error": "Unauthorized: Invalid or missing API-Key"}';
        }

        # 反向代理到本地 Ollama 服务
        proxy_pass http://127.0.0.1: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;
        
        # 保持 API-Key 头传递给后端(可选)
        proxy_set_header API-Key $http_api_key;
        
        # 超时设置
        proxy_connect_timeout 300s;
        proxy_send_timeout 300s;
        proxy_read_timeout 300s;
    }
}
  1. 重启 Nginx:
  2. 执行 sudo nginx -t && sudo systemctl reload nginx
  3. 执行 sudo systemctl restart nginx
  4. 通过代理地址访问 Ollama API,需携带 API-Key 头
  5. 测试:curl -H "API-Key: sk-your-key" http://localhost:11434/api/tags

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐