Java Traefik 代理后面的 Grpc 服务器
Java Grpc server behind the Traefik proxy
这是我的 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 网络客户端通过 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)
响应。
Traefik 1.7.16
grpc-java1.22.1
grpc-web@1.0.6
我错过了什么?谢谢
TE: trailers
警告在您的情况下是误报; I've created a grpc-java PR 以防止将来发生这种情况。
415
才是真正的失败。这意味着客户端使用的内容类型不是 application/grpc
。这是因为 grpc-web 使用了需要转换的备用协议。转换协议通常是通过代理完成的;这就是 grpc-web repository.
中提到的 Envoy 代理所做的
这是我的 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 网络客户端通过 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)
响应。
Traefik 1.7.16
grpc-java1.22.1
grpc-web@1.0.6
我错过了什么?谢谢
TE: trailers
警告在您的情况下是误报; I've created a grpc-java PR 以防止将来发生这种情况。
415
才是真正的失败。这意味着客户端使用的内容类型不是 application/grpc
。这是因为 grpc-web 使用了需要转换的备用协议。转换协议通常是通过代理完成的;这就是 grpc-web repository.