mirror of
https://github.com/alibaba/higress.git
synced 2026-06-09 12:47:28 +08:00
功能说明
sni-misdirect 用于缓解 HTTPS 场景下 TLS SNI 与 HTTP :authority(Host) 不一致带来的错误路由或错误证书问题。当两者不匹配且不符合通配 SNI 规则时,网关返回 421 Misdirected Request。
匹配规则
插件在以下条件全部满足时进行校验:
- 协议为 HTTP/2 或 HTTP/3(跳过 HTTP/1.x)
- 请求为 HTTPS
Content-Type不是application/grpc(gRPC 跳过)
校验逻辑:
- 若 SNI 与
:authority(去掉端口后)完全相同 → 放行 - 若 SNI 不以
*.开头且与 Host 不一致 → 返回 421 - 若 SNI 为
*.example.com形式,则 Host 须包含example.com后缀,否则返回 421
配置字段
本插件无配置项。
配置示例
# 无额外配置字段
说明
- 适用于多证书、多租户或通配证书场景,避免客户端 SNI 与 HTTP Host 不一致时误打到错误虚拟主机。
- 仅作请求头/连接属性检查,不修改上游路由目标。