LLM 网关推行
为组织推行 LLM 网关:网关要求(流式、模型路由、原样转发头和请求体、错误不改写、WAF 豁免)、五个推行步骤与三种凭据。
本页带管理员为 Claude Code 推行 LLM 网关:配置它转发 Claude Code 发送的内容、签发开发者凭据、通过托管设置分发配置并验证推行。它假定你已经部署了满足网关要求的网关产品;部署或运营某个具体产品不在本页范围,按其厂商文档进行。想在自己机器上连接到现有网关,见「连接到 LLM 网关」;Claude Code 向网关发送什么和该转发什么,见网关兼容性指南。
前提
- 部署在你基础设施上的网关:在你要分发给开发者的确切地址提供 HTTPS(不是重定向到它的地址),并配置为把 Claude 模型名路由到你的提供商
- 网关用来转发的提供商凭据:Anthropic API 用 Claude Console 的 API Key;云提供商用有模型访问权的云凭据
- 把设置文件交付到开发者机器的方式,如 MDM 或配置管理
网关要求
无论哪个产品提供网关,它必须:
- 接受受支持的 API 格式:下面的步骤假定
POST /v1/messages的 Anthropic Messages API,多数网关都提供 - 流式响应:服务器发送事件(SSE)一到就透传,包括保活 ping,而不是缓冲整个响应
- 路由 Claude 模型名:把开发者使用的每个名字映射到上游模型。Claude Code 在每个请求里发送
claude-sonnet-4-6这样的模型名;多数网关产品里这个映射是网关自己配置里的模型列表或路由表 - 原样转发头和请求体:双向透传
anthropic-beta、anthropic-version和请求体;官方「feature pass-through」表把每一项映射到缺了它会坏掉的功能 - 原样返回上游错误:Claude Code 的自动恢复按错误措辞匹配,所以把错误包进网关自己的信封会破坏它
- 对该路径豁免请求体 WAF 检查:Claude Code 的提示携带源代码和 XML 风格标签,会匹配跨站脚本的请求体规则;网关前的 WAF 会对真实会话返回
403,而简短的测试请求能通过
可选:提供 GET /v1/models,让 Claude Code 通过模型发现用你网关的模型填充模型选择器。
推行步骤
推行有五步,每步有检查点:
- 确认网关路由你的模型
- 给每个开发者签发凭据
- 用 Claude Code 对网关做测试
- 分发基础 URL 和凭据
- 从开发者机器验证
涉及三种不同的凭据:提供商凭据(由网关持有并转发到上游,配置在网关上,从不出现在客户端命令里)、网关管理凭据(你持有,如果你的网关产品为其管理或测试界面签发,检查点里写作 <gateway-key>)、开发者密钥(每个开发者持有,由网关签发,写作 <developer-key>)。
确认网关路由你的模型:网关应已配置好提供商凭据、监听基础 URL 并向提供商 API 转发请求。用一个最小请求端到端测试:
curl -X POST "https://llm-gateway.example.com/v1/messages" \
-H "Authorization: Bearer <gateway-key>" \
-H "anthropic-version: 2023-06-01" \
-H "content-type: application/json" \
-d '{"model": "claude-sonnet-4-6", "max_tokens": 1, "messages": [{"role": "user", "content": "."}]}'检查点:200 且带 content 字段说明网关用该模型名到达了提供商;404 说明该名字在网关上没有被路由;提供商返回的 401 说明网关的提供商凭据不对。对网关路由配置里的每个 Claude 模型名各重复一次,因为网关不路由的名字会对选了它的任何开发者返回 404,所以推行前要测试每个名字。避免把网关放在重定向后面:重定向可能丢掉请求体或去掉推理请求上的凭据头,模型发现把任何重定向都视为失败,以免凭据泄露到重定向目标。
给每个开发者签发凭据:每个开发者需要自己的网关密钥来认证,按你产品的凭据管理文档在网关上为每个开发者创建一个;用同样的请求(把 <gateway-key> 换成新的 <developer-key>)确认新签发的密钥可用。后续步骤——用 Claude Code 对网关测试、通过托管设置分发基础 URL 和凭据、从开发者机器验证——见官方原文。