快速结论:当 LiteLLM Proxy 设置了 SERVER_ROOT_PATH 且反向代理按 ASGI 规范不剥离路径前缀时,所有内置 LLM passthrough 路由(/vertex_ai、/bedrock、/anthropic、/gemini、/cohere、/azure、/openai、/mistral、/vllm 等)会回归成 404。优先排查 LiteLLM 版本是否包含 passthrough 路由对 root_path 的处理修复,以及代理是否采用了“保留前缀转发”。
适用环境:Issue 确认与 LiteLLM Proxy 相关,涉及设置 SERVER_ROOT_PATH 并使用反向代理的场景。Issue 未提供具体的 Python、CUDA、显卡、依赖版本信息,无需据此补写。
最快修复方案:暂无确认的一步修复方案。Issue 讨论中明确指出该问题在 v1.103.0 仍未修复,且需要合并 fix/server-root-path-passthrough 分支才能解决。可优先尝试升级到包含该修复的 LiteLLM 版本,但需自行验证。
注意事项:不要为了让 passthrough 路由恢复而在反向代理中剥离路径前缀——Issue 明确说明剥离前缀会破坏 LiteLLM UI,并曾导致事故。该问题的根本修复依赖 LiteLLM 内部对 passthrough 路由的 root_path 处理,非配置文件可绕过。
问题场景
用户在 LiteLLM Proxy 上设置了 SERVER_ROOT_PATH(例如 /litellm),并通过反向代理访问。反向代理按 ASGI 规范保留完整路径前缀转发请求,即客户端请求 /litellm/vertex_ai/v1/... 时,代理原样转发该完整路径。此时 LiteLLM 的内置 LLM passthrough 路由全部返回 404,而 /v1/chat/completions、/health、/ui 等端点正常。
报错原文
{"detail": "Pass-through endpoint v1/projects/.../models/...:generateContent not found. This could have been deleted or not yet added to the proxy."}
原因分析
Starlette 在路由匹配前会在内部就地修改 scope["path"],把 root_path 前缀剥离,使得普通路由能够正确匹配。但 LiteLLM 的内置 passthrough 路由在实现中并未使用这个已被 Starlette 剥离后的路径,而是仍然基于原始完整路径去找 passthrough 端点,导致查找失败并返回 404。
换句话说,普通路由依赖 Starlette 的 scope["path"] 修改结果,passthrough 路由却绕过了该修改,两者对 root_path 的处理不一致。这是 LiteLLM 内部实现问题,不是用户配置错误,也不是反向代理的锅——反向代理保留前缀才是 ASGI 规范下的正确行为,LiteLLM UI 也依赖这一行为。
环境排查
- 确认 LiteLLM 版本:Issue 评论指出问题在
v1.103.0仍存在,需确认是否已包含fix/server-root-path-passthrough的合并。 - 确认反向代理配置:是否保留了
SERVER_ROOT_PATH前缀(保留是正确行为,不要改成剥离)。 - 确认
SERVER_ROOT_PATH的实际取值,以及请求 URL 中的前缀是否与之完全一致。 - 确认是否曾应用 PR #19467(移除了
root_path=server_root_path):该变更已被 PR #19790 回滚以修复 UI,若当前代码仍处于回滚前状态,需一并检查。 - Issue 未提供 Python、CUDA、PyTorch、显卡等信息,无需确认这些项目。
解决步骤
- 先确认当前 LiteLLM 版本,如果低于包含
fix/server-root-path-passthrough修复的版本,升级到已合并该修复的版本。若升级后仍复现,说明该修复未覆盖你的版本或未生效。 - 如果无法直接升级,可参考 Issue 中给出的对比分支
umut-polat:fix/server-root-path-passthrough,将其合并到本地部署分支后重新构建镜像(此步骤属于社区修复方案,需自行验证)。 - 不要在反向代理侧通过剥离前缀来“绕过”问题。Issue 明确说明剥离前缀会破坏 LiteLLM UI,并曾引发事故。
- 如果线上已被迫用剥离前缀临时恢复,应及时改回保留前缀,并等待/应用 LiteLLM 侧的正式修复,避免 UI 再次失效。
验证方法
在保留路径前缀转发的前提下,向设置 SERVER_ROOT_PATH 后的 passthrough 路由发起请求,例如 /litellm/vertex_ai/v1/...,确认不再返回 Pass-through endpoint ... not found,而是进入对应上游 provider 的调用逻辑。同时确认 /ui 仍能正常访问,避免修复 passthrough 时把 UI 弄坏。
参考来源
AI 工具推荐
想把多个 AI 模型放在一个入口?
GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。
推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。
这个方案解决了吗?
可以继续搜索完整报错,或查看同一工具的其他排查指南。

![[Bug]: Function tools fail with reasoning_effort error for OpenAI gpt-5.6 family models (gpt-5.6-sol/luna/terra) on /chat/completions](https://www.chat-gpts.plus/wp-content/uploads/2026/09/33221-939ffc10-768x403.jpg)
![[Bug]: /v1/messages streaming delays message_start until the model's thinking pass finishes, even with no fallbacks configured](https://www.chat-gpts.plus/wp-content/uploads/2026/09/39431-85498499-768x403.jpg)