Spring Boot + GRPC Http2Exception

Posted

技术标签:

【中文标题】Spring Boot + GRPC Http2Exception【英文标题】:Spring boot + GRPC Http2Exception 【发布时间】:2017-10-30 01:54:39 【问题描述】:

我正在尝试使用 Spring Boot 设置 GRPC 服务器。我的 VIP 指向端口 8443 上的服务器。我正在尝试从本地 GRPC 客户端连接到我的 vip 上的 GRPC 服务器。

在使用 Spring Boot 的方法 GRPC 时我有什么遗漏吗?

2017-05-29 10:11:30.549  INFO 12796 --- [           main] n.d.s.a.grpc.server.GrpcServerLifecycle  : gRPC Server started, listening on address: 0.0.0.0, port: 8443
2017-05-29 10:11:30.971  INFO 12796 --- [           main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat started on port(s): 8080 (https)
2017-05-29 10:11:30.979  INFO 12796 --- [           main] c.a.IntentProcessorGroup1Application     : Started IntentProcessorGroup1Application in 26.45 seconds (JVM running for 27.737)
2017-05-29 10:11:41.736  WARN 12796 --- [-worker-ELG-3-1] io.grpc.netty.NettyServerHandler         : Connection Error

io.netty.handler.codec.http2.Http2Exception: HTTP/2 client preface string missing or corrupt. Hex dump for received bytes: 160301008e0100008a03039bda7533eee4bee56f87bd4a42
    at io.netty.handler.codec.http2.Http2Exception.connectionError(Http2Exception.java:85) ~[netty-codec-http2-4.1.8.Final.jar:4.1.8.Final]

【问题讨论】:

如果有任何建议请告诉我 【参考方案1】:

我收到此错误的原因是因为我没有在 TLS 配置上正确启动我的 grpc 服务器。 问题现已解决,详情可在此处找到:https://github.com/yidongnan/grpc-spring-boot-starter/issues/44

【讨论】:

以上是关于Spring Boot + GRPC Http2Exception的主要内容,如果未能解决你的问题,请参考以下文章

Istio 使用Spring Boot + GRPC构建部署微服务

Spring Boot+gRPC构建微服务并部署到Istio(详细教程)

Spring Boot+gRPC构建微服务并部署到Istio(详细教程)

java版gRPC实战之一:用proto生成代码

Spring Boot 学习总结(33)—— Spring Boot 3 的声明式 HTTP 调用

Spring Cloud集成grpc