Skip to content

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 的商业支持。

基于 MIT 协议发布