常见问题

转发到使用非默认端口的外部模型服务时,请求可能失败

症状

当满足以下条件时,可能会出现此问题:

  • 通过 Envoy AI Gateway 或 MaaS 访问外部模型服务。
  • 上游模型服务监听非默认端口。
  • 上游使用主机名和端口的组合进行路由或身份验证。
  • 通过网关转发的请求失败。根据上游行为,响应可能是 401、403、404 或其他状态码。

根本原因

Envoy Gateway 的自动 backend hostname 重写可能会以不包含上游非默认端口的 Host/:authority 值转发请求。因此,基于完整主机名和端口进行路由或身份验证的上游会将该请求视为无效请求。

这是 Envoy Gateway 的 hostname-rewrite 限制。

解决方案

可参考 How to Preserve a Non-Default Backend Port in the Upstream Host Header with Envoy Gateway on ACP 中描述的使用低级别 Envoy 配置的变通方法。