快速结论:[Bug]: API server closes connection with zero response (no HTTP status) when the prompt contains `and /` 通常发生在请求体经过网络边缘设备(如 WAF)时,请求在到达 vLLM 服务端之前就被 TCP 重置。优先排查客户端与服务器之间的 WAF/反向代理/安全网关策略,而不是模型或 tokenizer。
适用环境:vLLM 版本 0.1.dev20051+g487ecf187(docker image:vllm/vllm-openai:glm53-flash);CUDA/GPU:8 × NVIDIA H20-e3(TP=8 + EP);模型:GLM-5.3-Flash;操作系统与 Python 版本在 Issue 中未明确提供。
最快修复方案:联系网络/安全团队检查并修正客户端与服务器之间的 WAF 策略,避免将普通文件路径(如 and 2023/)误判为 SQL 注入特征并重置 TCP 连接。Issue 中确认修正 WAF 策略后,原本失败的请求可正常 tokenize 与推理。
注意事项:该问题并非 vLLM 或 GLM tokenizer 的缺陷。仅靠 vLLM 配置或代码无法修复;需要网络与安全侧配合。Issue 中未提供具体的 WAF 厂商、规则名称或完整修正配置,实际策略调整需由对应网络设备管理员完成。
问题场景
用户通过 OpenAI 兼容 API 调用 vLLM 服务,模型为 GLM-5.3-Flash,使用 prefix caching、expert parallel、speculative decoding(mtp)等配置。当请求 prompt 或消息内容中包含形如 and 2023/ 的文本模式(即单词 “and” + 空格 + 数字 + 斜杠,常见于文件路径如 2023/2024/2025.md)时,API 服务端没有返回任何 HTTP 响应,客户端收到连接被重置的错误。该问题可稳定复现,且同样出现在不涉及模型、调度器、工具解析或 spec decoding 的 /tokenize 接口上。
报错原文
curl: (52) Empty reply from server
# 客户端收到 ZERO response bytes,没有 HTTP 状态码、响应头或响应体
APIConnectionError: Connection error.
# 生产环境中客户端重试时反复出现,且没有输出 token
原因分析
根据 Issue 后续更新,根因是客户端与服务器之间的网络边缘 WAF 将请求体中的 and 2023/ 模式匹配为 SQL 注入特征,并在请求到达 vLLM 服务端之前重置了 TCP 连接,导致零响应字节。该问题与 GLM 模型、tokenizer、chat template、engine、scheduler、tool parser 或 speculative decoding 均无关。之所以容易误判为 tokenizer 问题,是因为 /tokenize 接口同样复现,但实际请求从未到达应用层。
环境排查
- 确认客户端到 vLLM 服务之间是否存在 WAF、反向代理、API 网关或安全设备。
- 确认 WAF 是否对请求体中的文本模式(如 SQL 注入特征)进行匹配并执行连接重置动作。
- 确认 vLLM 版本、模型、启动参数,但注意这些配置与根因无关。
- Issue 中未提供操作系统、Python 版本、PyTorch/CUDA 具体版本,这些项不影响本问题的定位。
解决步骤
- 先判断请求是否到达 vLLM 服务端:向一个不存在的路径发送相同 payload,若同样被重置,则请求大概率在应用层之外被拦截。
- 从不在 WAF 后面的主机发送相同请求,确认服务端是否返回正常的
404或400 Bad Request,以排除 vLLM 本身问题。 - 联系网络安全团队,检查 WAF 规则中是否将
and 2023/这类普通文本误判为 SQL 注入签名。 - 修正 WAF 策略,放行或调整对文件路径类文本的匹配规则。
- 修正后,用原始失败 payload 重新调用
/tokenize和/v1/chat/completions验证。
验证方法
使用原始触发失败的请求:
curl -sS -X POST http://<HOST>:<PORT>/tokenize \
-H "Content-Type: application/json" \
-d '{"model":"glm-chat","prompt":"and 2023/"}'
修正 WAF 策略后,应返回正常的 tokenize 结果(包含 count、max_model_len、tokens),而不是 curl: (52) Empty reply from server。同时确认 /v1/chat/completions 的原始失败请求也能正常返回推理结果。
参考来源
AI 工具推荐
想把多个 AI 模型放在一个入口?
GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。
推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。
这个方案解决了吗?
可以继续搜索完整报错,或查看同一工具的其他排查指南。


