ValueError: Cannot combine AUTHORIZATION header with AUTH argument or credentials encoded in URL`.

该报错发生在 Open WebUI 调用 Ollama 或 OpenAI 兼容接口生成批量嵌入向量时,代码无条件发送 Bearer 头导致与 URL 中的 Basic Auth 凭据冲突。优先检查 embedding 服务地址是否包含 user:pass@ 前缀,以及 API Key 是否为空字符串

快速结论:该报错发生在 Open WebUI 调用 Ollama 或 OpenAI 兼容接口生成批量嵌入向量时,代码无条件发送 Bearer 头导致与 URL 中的 Basic Auth 凭据冲突。优先检查 embedding 服务地址是否包含 user:pass@ 前缀,以及 API Key 是否为空字符串。

适用环境:Open WebUI(latest),RAG 嵌入引擎为 Ollama 或 OpenAI 兼容接口,服务部署在带 HTTP Basic Auth 的反向代理之后。

最快修复方案:暂无确认的一步修复方案。Issue 中提出的代码修复(仅在 key 非空时添加 Authorization 头)尚未被官方合并验证,需等待上游修复或自行 patch。

注意事项:该修复涉及 backend/open_webui/retrieval/utils.py 中四个批量嵌入函数,自行修改需谨慎,且上游尚未发布包含此修复的版本。

问题场景

用户在自建环境中将 Ollama 或 OpenAI 兼容的嵌入服务放在反向代理(如 Nginx)后面,并用 HTTP Basic Auth 保护。当通过 Open WebUI 上传文档或触发 RAG 检索、嵌入流程时,后端调用批量嵌入函数 generate_openai_batch_embeddingsagenerate_openai_batch_embeddingsgenerate_ollama_batch_embeddingsagenerate_ollama_batch_embeddings,触发报错。

报错原文

ValueError: Cannot combine AUTHORIZATION header with AUTH argument or credentials encoded in URL

原因分析

可能原因是 backend/open_webui/retrieval/utils.py 中的批量嵌入函数无条件构造 Authorization: Bearer {key} 请求头,即使 key 为空字符串也会发送。当用户在 URL 中通过 userinfo 携带 Basic Auth 凭据(如 https://user:pass@host)时,aiohttp 同时收到 Authorization 头和 URL 中的凭据,抛出上述 ValueError。若 Basic Auth 服务端配置了空 key,则悬空的 Bearer 头会导致 401 错误,响应为 HTML 登录页,r.json() 解析失败抛出 ContentTypeError

环境排查

  • 确认 Open WebUI 是否为 latest 版本。
  • 确认 RAG 嵌入引擎为 Ollama 或 OpenAI 兼容接口。
  • 检查嵌入服务 URL 是否包含 user:pass@ 前缀。
  • 检查 Open WebUI 的嵌入 API Key 配置是否为空字符串(而非未设置)。
  • 确认反向代理是否启用了 HTTP Basic Auth。

解决步骤

  1. 检查 Open WebUI 的嵌入 API Key 设置,若非必要请删除空字符串的 key 配置,或填入实际密钥。
  2. 若使用 URL userinfo 传递 Basic Auth 凭据,需要修改 backend/open_webui/retrieval/utils.py,将 headers 初始化为仅包含 Content-Type,仅在 key 非空时添加 Authorization 头。可优先尝试此方案,但需自行验证修改效果。
  3. 如果不想修改代码,可考虑在反向代理层放行嵌入路径,或改用 API Key 认证方式替代 Basic Auth。
  4. 关注上游 Issue 状态,等待官方修复合并到正式版本后升级 Open WebUI。

验证方法

修改后重新上传文档或触发 RAG 嵌入流程,确认不再抛出 ValueErrorContentTypeError,文档能够正常完成嵌入和检索。

参考来源

open-webui/open-webui #28683

GamsGo AI

AI 工具推荐

想把多个 AI 模型放在一个入口?

GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。

了解 GamsGo AI

推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。

这个方案解决了吗?

celebrityanime
celebrityanime
文章: 20090

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注