![](/img/trans.png)
[英]Netty 4 thows “unexpected message type: io.netty.handler.codec.http.DefaultHttpContent” after chunked file load
[英]io.netty.handler.codec.http2.Http2Exception: Unexpected HTTP/1.x request: GET /
我想测试 Zeebe(camunda 版本),然后我按照以下文档中描述的步骤操作。 简而言之,我基于命令docker run --name zeebe -p 26500:26500 camunda/zeebe:latest
Zeebe 作为 docker 容器docker run --name zeebe -p 26500:26500 camunda/zeebe:latest
。
查看初始日志,一切似乎都运行良好。 但是,当我尝试使用 Chrome 访问代理时,我可以在日志中看到以下错误:
Mar 10, 2020 1:53:18 PM io.grpc.netty.NettyServerTransport notifyTerminated
INFO: Transport failed
io.netty.handler.codec.http2.Http2Exception: Unexpected HTTP/1.x request: GET /
at io.netty.handler.codec.http2.Http2Exception.connectionError(Http2Exception.java:103)
at io.netty.handler.codec.http2.Http2ConnectionHandler$PrefaceDecoder.readClientPrefaceString(Http2ConnectionHandler.java:302)
at io.netty.handler.codec.http2.Http2ConnectionHandler$PrefaceDecoder.decode(Http2ConnectionHandler.java:239)
at io.netty.handler.codec.http2.Http2ConnectionHandler.decode(Http2ConnectionHandler.java:438)
at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:505)
at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:444)
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:283)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:374)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:360)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:352)
at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1421)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:374)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:360)
at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:930)
at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:794)
at io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:424)
at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:326)
at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:918)
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
at java.base/java.lang.Thread.run(Unknown Source)
我使用 zbctl (zbctl status --insecure) 检查了 Zeebe 状态,它看起来很健康:
Cluster size: 1
Partitions count: 1
Replication factor: 1
Gateway version: 0.23.0-alpha2
Brokers:
Broker 0 - 172.17.0.2:26501
Version: 0.23.0-alpha2
Partition 1 : Leader
有没有人见过这个问题?
使用浏览器无法访问代理中的任何内容。 代理唯一拥有的是gRPC 命令 API 。 您需要使用zbctl
或其中一种语言客户端与之通信。
如果您正在寻找要与之交互的 Web GUI,那么您希望将zeebe-docker-compose与“operate”或“simple-monitor”配置文件一起使用。 这些是 Web 前端,允许您检查代理并(在某种程度上)与代理进行交互。
显然,浏览器正在发送普通的旧 http/1.x 请求。 尝试使用更灵活的方法,例如 curl:
curl -I -k --http2 https://yourhost
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.