apache / rocketmq-mqtt

Apache rocketmq
https://rocketmq.apache.org/
Apache License 2.0
181 stars 63 forks source link

测试环境开启TLS后,使用自定义证书,报错javax.net.ssl.SSLException: Received fatal alert: certificate_unknown #233

Closed nameHui closed 3 months ago

nameHui commented 9 months ago

报错信息如下,请问是什么原因,是自定义证书不能用吗,应该怎么生成证书,8888接口是可以的,8883接口不能行: 2023-12-27 19:42:33:185 WARN [RpcServer] start rpc server , port:7001 2023-12-27 19:42:33:197 WARN [MqttServer] start mqtt server , port:1883 2023-12-27 19:42:33:229 WARN [MqttServer] start mqtt ws server , port:8888 2023-12-27 19:42:33:231 WARN [MqttServer] start mqtt tls server , port:8883 2023-12-27 19:42:33:257 INFO [MqttExporter] metrics exporter start success 2023-12-27 19:42:33:847 WARN [GrpcClient] Channel in TRANSIENT_FAILURE state: 10.168.1.115:9876. 2023-12-27 19:42:33:847 WARN [GrpcClient] Channel in SHUTDOWN state: 10.168.1.115:9876. 2023-12-27 19:42:33:950 ERROR [AbstractClientService] Fail to connect 10.168.1.115:9876, remoting exception: java.util.concurrent.ExecutionException: io.grpc.StatusRuntimeException: UNAVAILABLE: Network closed for unknown reason. 2023-12-27 19:42:33:951 ERROR [AbstractClientService] Fail to connect 10.168.1.115:9876, remoting exception: java.util.concurrent.ExecutionException: io.grpc.StatusRuntimeException: UNAVAILABLE: Network closed for unknown reason. 2023-12-27 19:42:33:951 ERROR [AbstractClientService] Fail to connect 10.168.1.115:9876, remoting exception: java.util.concurrent.ExecutionException: io.grpc.StatusRuntimeException: UNAVAILABLE: Network closed for unknown reason. 2023-12-27 19:42:36:707 ERROR [AbstractClientService] Fail to connect 10.168.1.115:9876, remoting exception: java.util.concurrent.ExecutionException: io.grpc.StatusRuntimeException: UNAVAILABLE: Network closed for unknown reason. 2023-12-27 19:42:36:708 ERROR [AbstractClientService] Fail to connect 10.168.1.115:9876, remoting exception: java.util.concurrent.ExecutionException: io.grpc.StatusRuntimeException: UNAVAILABLE: Network closed for unknown reason. 2023-12-27 19:42:36:709 ERROR [AbstractClientService] Fail to connect 10.168.1.115:9876, remoting exception: java.util.concurrent.ExecutionException: io.grpc.StatusRuntimeException: UNAVAILABLE: Network closed for unknown reason. 2023-12-27 19:42:37:603 INFO [NotifyManager] Notify Manager is refreshing, all first topic is [notifyRetryTopic, clientRetryTopic, mqttTopic] 2023-12-27 19:42:39:707 ERROR [AbstractClientService] Fail to connect 10.168.1.115:9876, remoting exception: java.util.concurrent.ExecutionException: io.grpc.StatusRuntimeException: UNAVAILABLE: Network closed for unknown reason. 2023-12-27 19:42:39:708 ERROR [AbstractClientService] Fail to connect 10.168.1.115:9876, remoting exception: java.util.concurrent.ExecutionException: io.grpc.StatusRuntimeException: UNAVAILABLE: Network closed for unknown reason. 2023-12-27 19:42:39:709 ERROR [AbstractClientService] Fail to connect 10.168.1.115:9876, remoting exception: java.util.concurrent.ExecutionException: io.grpc.StatusRuntimeException: UNAVAILABLE: Network closed for unknown reason. 2023-12-27 19:42:42:603 INFO [NotifyManager] Notify Manager is refreshing, all first topic is [notifyRetryTopic, clientRetryTopic, mqttTopic] 2023-12-27 19:42:42:706 ERROR [AbstractClientService] Fail to connect 10.168.1.115:9876, remoting exception: java.util.concurrent.ExecutionException: io.grpc.StatusRuntimeException: UNAVAILABLE: Network closed for unknown reason. 2023-12-27 19:42:42:706 ERROR [AbstractClientService] Fail to connect 10.168.1.115:9876, remoting exception: java.util.concurrent.ExecutionException: io.grpc.StatusRuntimeException: UNAVAILABLE: Network closed for unknown reason. 2023-12-27 19:42:42:707 ERROR [AbstractClientService] Fail to connect 10.168.1.115:9876, remoting exception: java.util.concurrent.ExecutionException: io.grpc.StatusRuntimeException: UNAVAILABLE: Network closed for unknown reason. 2023-12-27 19:42:42:805 ERROR [WillMsgPersistManagerImpl] java.lang.NullPointerException: null at org.apache.rocketmq.mqtt.ds.meta.WillMsgClient.get(WillMsgClient.java:117) at org.apache.rocketmq.mqtt.ds.meta.WillMsgPersistManagerImpl.get(WillMsgPersistManagerImpl.java:69) at org.apache.rocketmq.mqtt.cs.session.loop.WillLoop.masterLoop(WillLoop.java:146) at org.apache.rocketmq.mqtt.cs.session.loop.WillLoop.lambda$init$1(WillLoop.java:73) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) 2023-12-27 19:42:42:806 ERROR [WillLoop] fail to get CS_MASTER java.lang.NullPointerException: null at org.apache.rocketmq.mqtt.ds.meta.WillMsgClient.get(WillMsgClient.java:117) at org.apache.rocketmq.mqtt.ds.meta.WillMsgPersistManagerImpl.get(WillMsgPersistManagerImpl.java:69) at org.apache.rocketmq.mqtt.cs.session.loop.WillLoop.masterLoop(WillLoop.java:146) at org.apache.rocketmq.mqtt.cs.session.loop.WillLoop.lambda$init$1(WillLoop.java:73) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) 2023-12-27 19:42:45:706 ERROR [AbstractClientService] Fail to connect 10.168.1.115:9876, remoting exception: java.util.concurrent.ExecutionException: io.grpc.StatusRuntimeException: UNAVAILABLE: Network closed for unknown reason. 2023-12-27 19:42:45:706 ERROR [AbstractClientService] Fail to connect 10.168.1.115:9876, remoting exception: java.util.concurrent.ExecutionException: io.grpc.StatusRuntimeException: UNAVAILABLE: Network closed for unknown reason. 2023-12-27 19:42:45:706 ERROR [AbstractClientService] Fail to connect 10.168.1.115:9876, remoting exception: java.util.concurrent.ExecutionException: io.grpc.StatusRuntimeException: UNAVAILABLE: Network closed for unknown reason. 2023-12-27 19:42:47:603 INFO [NotifyManager] Notify Manager is refreshing, all first topic is [notifyRetryTopic, clientRetryTopic, mqttTopic] 2023-12-27 19:42:47:783 ERROR [WillMsgPersistManagerImpl] java.lang.NullPointerException: null at org.apache.rocketmq.mqtt.ds.meta.WillMsgClient.put(WillMsgClient.java:64) at org.apache.rocketmq.mqtt.ds.meta.WillMsgPersistManagerImpl.put(WillMsgPersistManagerImpl.java:41) at org.apache.rocketmq.mqtt.cs.session.loop.WillLoop.csLoop(WillLoop.java:94) at org.apache.rocketmq.mqtt.cs.session.loop.WillLoop.lambda$init$0(WillLoop.java:72) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) 2023-12-27 19:42:47:784 ERROR [WillLoop] alive1172.17.0.1 fail to put csKey java.lang.NullPointerException: null at org.apache.rocketmq.mqtt.ds.meta.WillMsgClient.put(WillMsgClient.java:64) at org.apache.rocketmq.mqtt.ds.meta.WillMsgPersistManagerImpl.put(WillMsgPersistManagerImpl.java:41) at org.apache.rocketmq.mqtt.cs.session.loop.WillLoop.csLoop(WillLoop.java:94) at org.apache.rocketmq.mqtt.cs.session.loop.WillLoop.lambda$init$0(WillLoop.java:72) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) 2023-12-27 19:42:47:784 ERROR [WillMsgPersistManagerImpl] java.lang.NullPointerException: null at org.apache.rocketmq.mqtt.ds.meta.WillMsgClient.get(WillMsgClient.java:117) at org.apache.rocketmq.mqtt.ds.meta.WillMsgPersistManagerImpl.get(WillMsgPersistManagerImpl.java:69) at org.apache.rocketmq.mqtt.cs.session.loop.WillLoop.csLoop(WillLoop.java:100) at org.apache.rocketmq.mqtt.cs.session.loop.WillLoop.lambda$init$0(WillLoop.java:72) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) 2023-12-27 19:42:48:706 ERROR [AbstractClientService] Fail to connect 10.168.1.115:9876, remoting exception: java.util.concurrent.ExecutionException: io.grpc.StatusRuntimeException: UNAVAILABLE: Network closed for unknown reason. 2023-12-27 19:42:48:707 ERROR [AbstractClientService] Fail to connect 10.168.1.115:9876, remoting exception: java.util.concurrent.ExecutionException: io.grpc.StatusRuntimeException: UNAVAILABLE: Network closed for unknown reason. 2023-12-27 19:42:48:708 ERROR [AbstractClientService] Fail to connect 10.168.1.115:9876, remoting exception: java.util.concurrent.ExecutionException: io.grpc.StatusRuntimeException: UNAVAILABLE: Network closed for unknown reason. 2023-12-27 19:42:50:340 ERROR [ConnectHandler] exceptionCaught [id: 0x3b34793d, L:0.0.0.0/0.0.0.0:8883 ! R:/10.168.1.111:2091] io.netty.handler.codec.DecoderException: javax.net.ssl.SSLException: Received fatal alert: certificate_unknown at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:473) at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:281) 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:1422) 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:931) at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:163) at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:700) at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:635) at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:552) at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:514) at io.netty.util.concurrent.SingleThreadEventExecutor$6.run(SingleThreadEventExecutor.java:1050) at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)

DongyuanPan commented 8 months ago

是不是生产者没有带证书链?只带了设备证书? 可以参考 https://help.aliyun.com/zh/apsaramq-for-mqtt/user-guide/certificate-management/?spm=a2c4g.11186623.0.0.796e2017B5AlMC