0

这是我的 traefik 配置


[entryPoints]
  [entryPoints.http]
  address = ":81"

[file]
 [backends]
   [backends.backend1]
     [backends.backend1.servers.server1]
     url = "h2c://10.141.11.230:6566"
 [frontends]
   [frontends.frontend1]
   entryPoints = ["http"]
   backend = "backend1"

当 js Web 客户端通过 traefik 代理调用 grpc 服务器时,我在服务器端收到此警告

WARN 22160 --- [-worker-ELG-3-1] io.grpc.netty.NettyServerHandler         : Expected header TE: trailers, but null is received. This means some intermediate proxy may not support trailers

不调用服务方法。

客户得到的 415 (Unsupported Media Type)回应。

特拉菲克1.7.16

grpc-java1.22.1

grpc-web@1.0.6

我错过了什么?谢谢

4

1 回答 1

0

在您的TE: trailers情况下,警告是虚惊一场;我创建了一个 grpc-java PR来防止它在未来发生。

415才是真正的失败。这意味着客户端使用的内容类型不是application/grpc. 这是因为 grpc-web 使用了需要转换的替代协议。转换协议通常使用代理完成;这就是grpc-web 存储库中提到的 Envoy 代理所做的事情。

于 2019-09-25T14:19:13.053 回答