Traefik GrpcWeb 中间件文档
GrpcWeb(gRPC Web)
grpcWeb 中间件在将 gRPC Web 请求转发到后端之前将其转换为 HTTP/2 gRPC 请求。
提示
请注意,Traefik 需要使用 gRPC 与后端通信(h2c 或基于 TLS 的 HTTP/2)。 有关更多详细信息,请参阅暴露 gRPC 服务。
配置示例
YAML 格式
yaml
http:
middlewares:
test-grpcweb:
grpcWeb:
allowOrigins:
- "*"TOML 格式
toml
[http.middlewares]
[http.middlewares.test-grpcweb.grpcWeb]
allowOrigins = ["*"]Labels 格式
yaml
labels:
- "traefik.http.middlewares.test-grpcweb.grpcweb.allowOrigins=*"Tags 格式
json
{
"Tags": [
"traefik.http.middlewares.test-grpcweb.grpcWeb.allowOrigins=*"
]
}Kubernetes 格式
yaml
apiVersion: traefik.io/v1alpha1
kind: Middleware
metadata:
name: test-grpcweb
spec:
grpcWeb:
allowOrigins:
- "*"配置选项
allowOrigins
| 字段 | 描述 | 默认值 | 必填 |
|---|---|---|---|
allowOrigins | 允许的来源列表。通配符 * 表示允许所有来源。 | [] | 否 |
更多关于 allowOrigins 的信息:
何时使用
grpcWeb 中间件通常在以下场景使用:
- 浏览器前端使用 gRPC Web 协议调用 gRPC 后端
- 后端使用标准 gRPC(HTTP/2)协议
- 需要在 Web 浏览器中支持 gRPC 调用
在生产环境使用 Traefik OSS?
如果你在工作中使用 Traefik,可以考虑为其添加企业级 API 网关能力或获取 Traefik OSS 的商业支持。