Closed Haarolean closed 2 years ago
@Haarolean, are there probably any news about this issue?
We are using mTLS for our Schema Registry together with Basic Auth in our Kafka Clusters, and I didn't manage to configure SSL connection to it for my kafka-ui
instance..
What I already tried:
Attempt 1: SSL properties inherited from brokers connection?
KAFKA_CLUSTERS_0_BOOTSTRAPSERVERS: broker:9093
KAFKA_CLUSTERS_0_PROPERTIES_SECURITY_PROTOCOL: SASL_SSL
KAFKA_CLUSTERS_0_PROPERTIES_SSL_TRUSTSTORE_LOCATION: /path/to/truststore.jks
KAFKA_CLUSTERS_0_PROPERTIES_SSL_TRUSTSTORE_PASSWORD: secret
KAFKA_CLUSTERS_0_PROPERTIES_SSL_KEYSTORE_LOCATION: /path/to/keystore.jks
KAFKA_CLUSTERS_0_PROPERTIES_SSL_KEYSTORE_PASSWORD: secret
KAFKA_CLUSTERS_0_PROPERTIES_SSL_KEY_PASSWORD: secret
KAFKA_CLUSTERS_0_PROPERTIES_SASL_MECHANISM: PLAIN
KAFKA_CLUSTERS_0_PROPERTIES_SASL_JAAS_CONFIG: 'org.apache.kafka.common.security.plain.PlainLoginModule required username="admin" password="admin_secret";'
KAFKA_CLUSTERS_0_SCHEMAREGISTRY: schema-registry:8081
KAFKA_CLUSTERS_0_SCHEMAREGISTRYAUTH_USERNAME: admin
KAFKA_CLUSTERS_0_SCHEMAREGISTRYAUTH_PASSWORD: admin_secret
Attempt 2: SSL properties in the same manner as for brokers connection?
KAFKA_CLUSTERS_0_BOOTSTRAPSERVERS: broker:9093
KAFKA_CLUSTERS_0_PROPERTIES_SECURITY_PROTOCOL: SASL_SSL
KAFKA_CLUSTERS_0_PROPERTIES_SSL_TRUSTSTORE_LOCATION: /path/to/truststore.jks
KAFKA_CLUSTERS_0_PROPERTIES_SSL_TRUSTSTORE_PASSWORD: secret
KAFKA_CLUSTERS_0_PROPERTIES_SSL_KEYSTORE_LOCATION: /path/to/keystore.jks
KAFKA_CLUSTERS_0_PROPERTIES_SSL_KEYSTORE_PASSWORD: secret
KAFKA_CLUSTERS_0_PROPERTIES_SSL_KEY_PASSWORD: secret
KAFKA_CLUSTERS_0_PROPERTIES_SASL_MECHANISM: PLAIN
KAFKA_CLUSTERS_0_PROPERTIES_SASL_JAAS_CONFIG: 'org.apache.kafka.common.security.plain.PlainLoginModule required username="admin" password="admin_secret";'
KAFKA_CLUSTERS_0_SCHEMAREGISTRY: schema-registry:8081
KAFKA_CLUSTERS_0_SCHEMAREGISTRYAUTH_USERNAME: admin
KAFKA_CLUSTERS_0_SCHEMAREGISTRYAUTH_PASSWORD: admin_secret
KAFKA_CLUSTERS_0_SCHEMAREGISTRY_PROPERTIES_SSL_TRUSTSTORE_LOCATION: /path/to/truststore.jks
KAFKA_CLUSTERS_0_SCHEMAREGISTRY_PROPERTIES_SSL_TRUSTSTORE_PASSWORD: secret
KAFKA_CLUSTERS_0_SCHEMAREGISTRY_PROPERTIES_SSL_KEYSTORE_LOCATION: /path/to/keystore.jks
KAFKA_CLUSTERS_0_SCHEMAREGISTRY_PROPERTIES_SSL_KEYSTORE_PASSWORD: secret
KAFKA_CLUSTERS_0_SCHEMAREGISTRY_PROPERTIES_SSL_KEY_PASSWORD: secret
Attempt 3: Maybe without PROPERTIES
prefix?
KAFKA_CLUSTERS_0_BOOTSTRAPSERVERS: broker:9093
KAFKA_CLUSTERS_0_PROPERTIES_SECURITY_PROTOCOL: SASL_SSL
KAFKA_CLUSTERS_0_PROPERTIES_SSL_TRUSTSTORE_LOCATION: /path/to/truststore.jks
KAFKA_CLUSTERS_0_PROPERTIES_SSL_TRUSTSTORE_PASSWORD: secret
KAFKA_CLUSTERS_0_PROPERTIES_SSL_KEYSTORE_LOCATION: /path/to/keystore.jks
KAFKA_CLUSTERS_0_PROPERTIES_SSL_KEYSTORE_PASSWORD: secret
KAFKA_CLUSTERS_0_PROPERTIES_SSL_KEY_PASSWORD: secret
KAFKA_CLUSTERS_0_PROPERTIES_SASL_MECHANISM: PLAIN
KAFKA_CLUSTERS_0_PROPERTIES_SASL_JAAS_CONFIG: 'org.apache.kafka.common.security.plain.PlainLoginModule required username="admin" password="admin_secret";'
KAFKA_CLUSTERS_0_SCHEMAREGISTRY: https://schema-registry:8081
KAFKA_CLUSTERS_0_SCHEMAREGISTRYAUTH_USERNAME: admin
KAFKA_CLUSTERS_0_SCHEMAREGISTRYAUTH_PASSWORD: admin_secret
KAFKA_CLUSTERS_0_SCHEMAREGISTRY_SSL_TRUSTSTORE_LOCATION: /path/to/truststore.jks
KAFKA_CLUSTERS_0_SCHEMAREGISTRY_SSL_TRUSTSTORE_PASSWORD: secret
KAFKA_CLUSTERS_0_SCHEMAREGISTRY_SSL_KEYSTORE_LOCATION: /path/to/keystore.jks
KAFKA_CLUSTERS_0_SCHEMAREGISTRY_SSL_KEYSTORE_PASSWORD: secret
KAFKA_CLUSTERS_0_SCHEMAREGISTRY_SSL_KEY_PASSWORD: secret
But nothing worked, I always get the same result, which is such an exception:
kafka-ui | ERROR [reactor-http-epoll-5] c.p.k.u.s.SchemaRegistryService: Unexpected error
kafka-ui | org.springframework.web.reactive.function.client.WebClientRequestException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target; nested exception is javax.net.ssl.SSLHandshakeException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
kafka-ui | at org.springframework.web.reactive.function.client.ExchangeFunctions$DefaultExchangeFunction.lambda$wrapException$9(ExchangeFunctions.java:141)
kafka-ui | Suppressed: reactor.core.publisher.FluxOnAssembly$OnAssemblyException:
kafka-ui | Error has been observed at the following site(s):
kafka-ui | *__checkpoint ⇢ Request to GET https://schema-registry:8081/subjects [DefaultWebClient]
kafka-ui | Stack trace:
kafka-ui | at org.springframework.web.reactive.function.client.ExchangeFunctions$DefaultExchangeFunction.lambda$wrapException$9(ExchangeFunctions.java:141)
kafka-ui | at reactor.core.publisher.MonoErrorSupplied.subscribe(MonoErrorSupplied.java:55)
kafka-ui | at reactor.core.publisher.Mono.subscribe(Mono.java:4399)
kafka-ui | at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onError(FluxOnErrorResume.java:103)
kafka-ui | at reactor.core.publisher.FluxPeek$PeekSubscriber.onError(FluxPeek.java:222)
kafka-ui | at reactor.core.publisher.FluxPeek$PeekSubscriber.onError(FluxPeek.java:222)
kafka-ui | at reactor.core.publisher.FluxPeek$PeekSubscriber.onError(FluxPeek.java:222)
kafka-ui | at reactor.core.publisher.MonoNext$NextSubscriber.onError(MonoNext.java:93)
kafka-ui | at reactor.core.publisher.MonoFlatMapMany$FlatMapManyMain.onError(MonoFlatMapMany.java:204)
kafka-ui | at reactor.core.publisher.SerializedSubscriber.onError(SerializedSubscriber.java:124)
kafka-ui | at reactor.core.publisher.FluxRetryWhen$RetryWhenMainSubscriber.whenError(FluxRetryWhen.java:225)
kafka-ui | at reactor.core.publisher.FluxRetryWhen$RetryWhenOtherSubscriber.onError(FluxRetryWhen.java:274)
kafka-ui | at reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.drain(FluxConcatMap.java:414)
kafka-ui | at reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.onNext(FluxConcatMap.java:251)
kafka-ui | at reactor.core.publisher.EmitterProcessor.drain(EmitterProcessor.java:491)
kafka-ui | at reactor.core.publisher.EmitterProcessor.tryEmitNext(EmitterProcessor.java:299)
kafka-ui | at reactor.core.publisher.SinkManySerialized.tryEmitNext(SinkManySerialized.java:100)
kafka-ui | at reactor.core.publisher.InternalManySink.emitNext(InternalManySink.java:27)
kafka-ui | at reactor.core.publisher.FluxRetryWhen$RetryWhenMainSubscriber.onError(FluxRetryWhen.java:190)
kafka-ui | at reactor.core.publisher.MonoCreate$DefaultMonoSink.error(MonoCreate.java:194)
kafka-ui | at reactor.netty.http.client.HttpClientConnect$MonoHttpConnect$ClientTransportSubscriber.onError(HttpClientConnect.java:304)
kafka-ui | at reactor.core.publisher.MonoCreate$DefaultMonoSink.error(MonoCreate.java:194)
kafka-ui | at reactor.netty.resources.DefaultPooledConnectionProvider$DisposableAcquire.onUncaughtException(DefaultPooledConnectionProvider.java:218)
kafka-ui | at reactor.netty.resources.DefaultPooledConnectionProvider$PooledConnection.onUncaughtException(DefaultPooledConnectionProvider.java:467)
kafka-ui | at reactor.netty.channel.ChannelOperationsHandler.exceptionCaught(ChannelOperationsHandler.java:129)
kafka-ui | at io.netty.channel.AbstractChannelHandlerContext.invokeExceptionCaught(AbstractChannelHandlerContext.java:302)
kafka-ui | at io.netty.channel.AbstractChannelHandlerContext.invokeExceptionCaught(AbstractChannelHandlerContext.java:281)
kafka-ui | at io.netty.channel.AbstractChannelHandlerContext.fireExceptionCaught(AbstractChannelHandlerContext.java:273)
kafka-ui | at io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireExceptionCaught(CombinedChannelDuplexHandler.java:424)
kafka-ui | at io.netty.channel.ChannelHandlerAdapter.exceptionCaught(ChannelHandlerAdapter.java:92)
kafka-ui | at io.netty.channel.CombinedChannelDuplexHandler$1.fireExceptionCaught(CombinedChannelDuplexHandler.java:145)
kafka-ui | at io.netty.channel.ChannelInboundHandlerAdapter.exceptionCaught(ChannelInboundHandlerAdapter.java:143)
kafka-ui | at io.netty.channel.CombinedChannelDuplexHandler.exceptionCaught(CombinedChannelDuplexHandler.java:231)
kafka-ui | at io.netty.channel.AbstractChannelHandlerContext.invokeExceptionCaught(AbstractChannelHandlerContext.java:302)
kafka-ui | at io.netty.channel.AbstractChannelHandlerContext.invokeExceptionCaught(AbstractChannelHandlerContext.java:281)
kafka-ui | at io.netty.channel.AbstractChannelHandlerContext.fireExceptionCaught(AbstractChannelHandlerContext.java:273)
kafka-ui | at reactor.netty.tcp.SslProvider$SslReadHandler.userEventTriggered(SslProvider.java:834)
kafka-ui | at io.netty.channel.AbstractChannelHandlerContext.invokeUserEventTriggered(AbstractChannelHandlerContext.java:346)
kafka-ui | at io.netty.channel.AbstractChannelHandlerContext.invokeUserEventTriggered(AbstractChannelHandlerContext.java:332)
kafka-ui | at io.netty.channel.AbstractChannelHandlerContext.fireUserEventTriggered(AbstractChannelHandlerContext.java:324)
kafka-ui | at io.netty.handler.ssl.SslHandler.handleUnwrapThrowable(SslHandler.java:1259)
kafka-ui | at io.netty.handler.ssl.SslHandler.decodeJdkCompatible(SslHandler.java:1240)
kafka-ui | at io.netty.handler.ssl.SslHandler.decode(SslHandler.java:1284)
kafka-ui | at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:507)
kafka-ui | at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:446)
kafka-ui | at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:276)
kafka-ui | at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
kafka-ui | at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
kafka-ui | at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
kafka-ui | at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410)
kafka-ui | at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
kafka-ui | at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
kafka-ui | at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919)
kafka-ui | at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:795)
kafka-ui | at io.netty.channel.epoll.AbstractEpollChannel$AbstractEpollUnsafe$1.run(AbstractEpollChannel.java:425)
kafka-ui | at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:164)
kafka-ui | at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:469)
kafka-ui | at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:384)
kafka-ui | at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:986)
kafka-ui | at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
kafka-ui | at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
kafka-ui | at java.base/java.lang.Thread.run(Thread.java:830)
kafka-ui | Caused by: javax.net.ssl.SSLHandshakeException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
kafka-ui | at java.base/sun.security.ssl.Alert.createSSLException(Alert.java:131)
kafka-ui | at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:325)
kafka-ui | at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:268)
kafka-ui | at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:263)
kafka-ui | at java.base/sun.security.ssl.CertificateMessage$T12CertificateConsumer.checkServerCerts(CertificateMessage.java:654)
kafka-ui | at java.base/sun.security.ssl.CertificateMessage$T12CertificateConsumer.onCertificate(CertificateMessage.java:473)
kafka-ui | at java.base/sun.security.ssl.CertificateMessage$T12CertificateConsumer.consume(CertificateMessage.java:369)
kafka-ui | at java.base/sun.security.ssl.SSLHandshake.consume(SSLHandshake.java:396)
kafka-ui | at java.base/sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:445)
kafka-ui | at java.base/sun.security.ssl.SSLEngineImpl$DelegatedTask$DelegatedAction.run(SSLEngineImpl.java:1260)
kafka-ui | at java.base/sun.security.ssl.SSLEngineImpl$DelegatedTask$DelegatedAction.run(SSLEngineImpl.java:1247)
kafka-ui | at java.base/java.security.AccessController.doPrivileged(AccessController.java:691)
kafka-ui | at java.base/sun.security.ssl.SSLEngineImpl$DelegatedTask.run(SSLEngineImpl.java:1192)
kafka-ui | at io.netty.handler.ssl.SslHandler.runDelegatedTasks(SslHandler.java:1548)
kafka-ui | at io.netty.handler.ssl.SslHandler.unwrap(SslHandler.java:1394)
kafka-ui | at io.netty.handler.ssl.SslHandler.decodeJdkCompatible(SslHandler.java:1235)
kafka-ui | at io.netty.handler.ssl.SslHandler.decode(SslHandler.java:1284)
kafka-ui | at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:507)
kafka-ui | at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:446)
kafka-ui | at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:276)
kafka-ui | at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
kafka-ui | at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
kafka-ui | at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
kafka-ui | at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410)
kafka-ui | at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
kafka-ui | at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
kafka-ui | at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919)
kafka-ui | at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:795)
kafka-ui | at io.netty.channel.epoll.AbstractEpollChannel$AbstractEpollUnsafe$1.run(AbstractEpollChannel.java:425)
kafka-ui | at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:164)
kafka-ui | at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:469)
kafka-ui | at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:384)
kafka-ui | at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:986)
kafka-ui | at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
kafka-ui | at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
kafka-ui | at java.base/java.lang.Thread.run(Thread.java:830)
kafka-ui | Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
kafka-ui | at java.base/sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:438)
kafka-ui | at java.base/sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:305)
kafka-ui | at java.base/sun.security.validator.Validator.validate(Validator.java:264)
kafka-ui | at java.base/sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:285)
kafka-ui | at java.base/sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:144)
kafka-ui | at java.base/sun.security.ssl.CertificateMessage$T12CertificateConsumer.checkServerCerts(CertificateMessage.java:632)
kafka-ui | ... 31 common frames omitted
kafka-ui | Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
kafka-ui | at java.base/sun.security.provider.certpath.SunCertPathBuilder.build(SunCertPathBuilder.java:141)
kafka-ui | at java.base/sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:126)
kafka-ui | at java.base/java.security.cert.CertPathBuilder.build(CertPathBuilder.java:297)
kafka-ui | at java.base/sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:433)
kafka-ui | ... 36 common frames omitted
The most important part:
kafka-ui | org.springframework.web.reactive.function.client.WebClientRequestException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target; nested exception is javax.net.ssl.SSLHandshakeException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
The same question applies to the Kafka Connect connection - how do I configure SSL connection to Kafka Connect Workers?
KAFKA_CLUSTERS_0_BOOTSTRAPSERVERS: broker:9093
KAFKA_CLUSTERS_0_PROPERTIES_SECURITY_PROTOCOL: SASL_SSL
KAFKA_CLUSTERS_0_PROPERTIES_SSL_TRUSTSTORE_LOCATION: /path/to/truststore.jks
KAFKA_CLUSTERS_0_PROPERTIES_SSL_TRUSTSTORE_PASSWORD: secret
KAFKA_CLUSTERS_0_PROPERTIES_SSL_KEYSTORE_LOCATION: /path/to/keystore.jks
KAFKA_CLUSTERS_0_PROPERTIES_SSL_KEYSTORE_PASSWORD: secret
KAFKA_CLUSTERS_0_PROPERTIES_SSL_KEY_PASSWORD: secret
KAFKA_CLUSTERS_0_PROPERTIES_SASL_MECHANISM: PLAIN
KAFKA_CLUSTERS_0_PROPERTIES_SASL_JAAS_CONFIG: 'org.apache.kafka.common.security.plain.PlainLoginModule required username="admin" password="admin_secret";'
KAFKA_CLUSTERS_0_KAFKACONNECT_0_NAME: connect-1
KAFKA_CLUSTERS_0_KAFKACONNECT_0_ADDRESS: https://kafka-connect:8083
Such configuration leads to the same issue as of now:
kafka-ui | at org.springframework.web.reactive.function.client.ExchangeFunctions$DefaultExchangeFunction.lambda$wrapException$9(ExchangeFunctions.java:141)
kafka-ui | Suppressed: reactor.core.publisher.FluxOnAssembly$OnAssemblyException:
kafka-ui | Error has been observed at the following site(s):
kafka-ui | *__checkpoint ⇢ Request to GET https://kafka-connect:8083/connectors [DefaultWebClient]
kafka-ui | *__checkpoint ⇢ Handler com.provectus.kafka.ui.controller.KafkaConnectController#getAllConnectors(String, String, ServerWebExchange) [DispatcherHandler]
kafka-ui | *__checkpoint ⇢ com.provectus.kafka.ui.config.CustomWebFilter [DefaultWebFilterChain]
kafka-ui | *__checkpoint ⇢ com.provectus.kafka.ui.config.ReadOnlyModeFilter [DefaultWebFilterChain]
kafka-ui | *__checkpoint ⇢ org.springframework.security.web.server.authorization.AuthorizationWebFilter [DefaultWebFilterChain]
kafka-ui | *__checkpoint ⇢ org.springframework.security.web.server.authorization.ExceptionTranslationWebFilter [DefaultWebFilterChain]
kafka-ui | *__checkpoint ⇢ org.springframework.security.web.server.authentication.logout.LogoutWebFilter [DefaultWebFilterChain]
kafka-ui | *__checkpoint ⇢ org.springframework.security.web.server.savedrequest.ServerRequestCacheWebFilter [DefaultWebFilterChain]
kafka-ui | *__checkpoint ⇢ org.springframework.security.web.server.context.SecurityContextServerWebExchangeWebFilter [DefaultWebFilterChain]
kafka-ui | *__checkpoint ⇢ org.springframework.security.web.server.context.ReactorContextWebFilter [DefaultWebFilterChain]
kafka-ui | *__checkpoint ⇢ org.springframework.security.web.server.header.HttpHeaderWriterWebFilter [DefaultWebFilterChain]
kafka-ui | *__checkpoint ⇢ org.springframework.security.config.web.server.ServerHttpSecurity$ServerWebExchangeReactorContextWebFilter [DefaultWebFilterChain]
kafka-ui | *__checkpoint ⇢ org.springframework.security.web.server.WebFilterChainProxy [DefaultWebFilterChain]
kafka-ui | *__checkpoint ⇢ org.springframework.boot.actuate.metrics.web.reactive.server.MetricsWebFilter [DefaultWebFilterChain]
kafka-ui | *__checkpoint ⇢ HTTP GET "/api/clusters/cluster-1/connectors?search=" [ExceptionHandlingWebHandler]
kafka-ui | Stack trace:
kafka-ui | at org.springframework.web.reactive.function.client.ExchangeFunctions$DefaultExchangeFunction.lambda$wrapException$9(ExchangeFunctions.java:141)
kafka-ui | at reactor.core.publisher.MonoErrorSupplied.subscribe(MonoErrorSupplied.java:55)
kafka-ui | at reactor.core.publisher.Mono.subscribe(Mono.java:4399)
kafka-ui | at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onError(FluxOnErrorResume.java:103)
kafka-ui | at reactor.core.publisher.FluxPeek$PeekSubscriber.onError(FluxPeek.java:222)
kafka-ui | at reactor.core.publisher.FluxPeek$PeekSubscriber.onError(FluxPeek.java:222)
kafka-ui | at reactor.core.publisher.FluxPeek$PeekSubscriber.onError(FluxPeek.java:222)
kafka-ui | at reactor.core.publisher.MonoNext$NextSubscriber.onError(MonoNext.java:93)
kafka-ui | at reactor.core.publisher.MonoFlatMapMany$FlatMapManyMain.onError(MonoFlatMapMany.java:204)
kafka-ui | at reactor.core.publisher.SerializedSubscriber.onError(SerializedSubscriber.java:124)
kafka-ui | at reactor.core.publisher.FluxRetryWhen$RetryWhenMainSubscriber.whenError(FluxRetryWhen.java:225)
kafka-ui | at reactor.core.publisher.FluxRetryWhen$RetryWhenOtherSubscriber.onError(FluxRetryWhen.java:274)
kafka-ui | at reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.drain(FluxConcatMap.java:414)
kafka-ui | at reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.onNext(FluxConcatMap.java:251)
kafka-ui | at reactor.core.publisher.EmitterProcessor.drain(EmitterProcessor.java:491)
kafka-ui | at reactor.core.publisher.EmitterProcessor.tryEmitNext(EmitterProcessor.java:299)
kafka-ui | at reactor.core.publisher.SinkManySerialized.tryEmitNext(SinkManySerialized.java:100)
kafka-ui | at reactor.core.publisher.InternalManySink.emitNext(InternalManySink.java:27)
kafka-ui | at reactor.core.publisher.FluxRetryWhen$RetryWhenMainSubscriber.onError(FluxRetryWhen.java:190)
kafka-ui | at reactor.core.publisher.MonoCreate$DefaultMonoSink.error(MonoCreate.java:194)
kafka-ui | at reactor.netty.http.client.HttpClientConnect$MonoHttpConnect$ClientTransportSubscriber.onError(HttpClientConnect.java:304)
kafka-ui | at reactor.core.publisher.MonoCreate$DefaultMonoSink.error(MonoCreate.java:194)
kafka-ui | at reactor.netty.resources.DefaultPooledConnectionProvider$DisposableAcquire.onUncaughtException(DefaultPooledConnectionProvider.java:218)
kafka-ui | at reactor.netty.resources.DefaultPooledConnectionProvider$PooledConnection.onUncaughtException(DefaultPooledConnectionProvider.java:467)
kafka-ui | at reactor.netty.channel.ChannelOperationsHandler.exceptionCaught(ChannelOperationsHandler.java:129)
kafka-ui | at io.netty.channel.AbstractChannelHandlerContext.invokeExceptionCaught(AbstractChannelHandlerContext.java:302)
kafka-ui | at io.netty.channel.AbstractChannelHandlerContext.invokeExceptionCaught(AbstractChannelHandlerContext.java:281)
kafka-ui | at io.netty.channel.AbstractChannelHandlerContext.fireExceptionCaught(AbstractChannelHandlerContext.java:273)
kafka-ui | at io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireExceptionCaught(CombinedChannelDuplexHandler.java:424)
kafka-ui | at io.netty.channel.ChannelHandlerAdapter.exceptionCaught(ChannelHandlerAdapter.java:92)
kafka-ui | at io.netty.channel.CombinedChannelDuplexHandler$1.fireExceptionCaught(CombinedChannelDuplexHandler.java:145)
kafka-ui | at io.netty.channel.ChannelInboundHandlerAdapter.exceptionCaught(ChannelInboundHandlerAdapter.java:143)
kafka-ui | at io.netty.channel.CombinedChannelDuplexHandler.exceptionCaught(CombinedChannelDuplexHandler.java:231)
kafka-ui | at io.netty.channel.AbstractChannelHandlerContext.invokeExceptionCaught(AbstractChannelHandlerContext.java:302)
kafka-ui | at io.netty.channel.AbstractChannelHandlerContext.invokeExceptionCaught(AbstractChannelHandlerContext.java:281)
kafka-ui | at io.netty.channel.AbstractChannelHandlerContext.fireExceptionCaught(AbstractChannelHandlerContext.java:273)
kafka-ui | at reactor.netty.tcp.SslProvider$SslReadHandler.userEventTriggered(SslProvider.java:834)
kafka-ui | at io.netty.channel.AbstractChannelHandlerContext.invokeUserEventTriggered(AbstractChannelHandlerContext.java:346)
kafka-ui | at io.netty.channel.AbstractChannelHandlerContext.invokeUserEventTriggered(AbstractChannelHandlerContext.java:332)
kafka-ui | at io.netty.channel.AbstractChannelHandlerContext.fireUserEventTriggered(AbstractChannelHandlerContext.java:324)
kafka-ui | at io.netty.handler.ssl.SslHandler.handleUnwrapThrowable(SslHandler.java:1259)
kafka-ui | at io.netty.handler.ssl.SslHandler.decodeJdkCompatible(SslHandler.java:1240)
kafka-ui | at io.netty.handler.ssl.SslHandler.decode(SslHandler.java:1284)
kafka-ui | at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:507)
kafka-ui | at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:446)
kafka-ui | at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:276)
kafka-ui | at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
kafka-ui | at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
kafka-ui | at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
kafka-ui | at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410)
kafka-ui | at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
kafka-ui | at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
kafka-ui | at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919)
kafka-ui | at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:795)
kafka-ui | at io.netty.channel.epoll.AbstractEpollChannel$AbstractEpollUnsafe$1.run(AbstractEpollChannel.java:425)
kafka-ui | at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:164)
kafka-ui | at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:469)
kafka-ui | at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:384)
kafka-ui | at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:986)
kafka-ui | at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
kafka-ui | at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
kafka-ui | at java.base/java.lang.Thread.run(Thread.java:830)
kafka-ui | Caused by: javax.net.ssl.SSLHandshakeException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
kafka-ui | at java.base/sun.security.ssl.Alert.createSSLException(Alert.java:131)
kafka-ui | at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:325)
kafka-ui | at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:268)
kafka-ui | at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:263)
kafka-ui | at java.base/sun.security.ssl.CertificateMessage$T12CertificateConsumer.checkServerCerts(CertificateMessage.java:654)
kafka-ui | at java.base/sun.security.ssl.CertificateMessage$T12CertificateConsumer.onCertificate(CertificateMessage.java:473)
kafka-ui | at java.base/sun.security.ssl.CertificateMessage$T12CertificateConsumer.consume(CertificateMessage.java:369)
kafka-ui | at java.base/sun.security.ssl.SSLHandshake.consume(SSLHandshake.java:396)
kafka-ui | at java.base/sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:445)
kafka-ui | at java.base/sun.security.ssl.SSLEngineImpl$DelegatedTask$DelegatedAction.run(SSLEngineImpl.java:1260)
kafka-ui | at java.base/sun.security.ssl.SSLEngineImpl$DelegatedTask$DelegatedAction.run(SSLEngineImpl.java:1247)
kafka-ui | at java.base/java.security.AccessController.doPrivileged(AccessController.java:691)
kafka-ui | at java.base/sun.security.ssl.SSLEngineImpl$DelegatedTask.run(SSLEngineImpl.java:1192)
kafka-ui | at io.netty.handler.ssl.SslHandler.runDelegatedTasks(SslHandler.java:1548)
kafka-ui | at io.netty.handler.ssl.SslHandler.unwrap(SslHandler.java:1394)
kafka-ui | at io.netty.handler.ssl.SslHandler.decodeJdkCompatible(SslHandler.java:1235)
kafka-ui | at io.netty.handler.ssl.SslHandler.decode(SslHandler.java:1284)
kafka-ui | at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:507)
kafka-ui | at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:446)
kafka-ui | at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:276)
kafka-ui | at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
kafka-ui | at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
kafka-ui | at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
kafka-ui | at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410)
kafka-ui | at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
kafka-ui | at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
kafka-ui | at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919)
kafka-ui | at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:795)
kafka-ui | at io.netty.channel.epoll.AbstractEpollChannel$AbstractEpollUnsafe$1.run(AbstractEpollChannel.java:425)
kafka-ui | at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:164)
kafka-ui | at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:469)
kafka-ui | at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:384)
kafka-ui | at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:986)
kafka-ui | at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
kafka-ui | at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
kafka-ui | at java.base/java.lang.Thread.run(Thread.java:830)
kafka-ui | Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
kafka-ui | at java.base/sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:438)
kafka-ui | at java.base/sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:305)
kafka-ui | at java.base/sun.security.validator.Validator.validate(Validator.java:264)
kafka-ui | at java.base/sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:285)
kafka-ui | at java.base/sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:144)
kafka-ui | at java.base/sun.security.ssl.CertificateMessage$T12CertificateConsumer.checkServerCerts(CertificateMessage.java:632)
kafka-ui | ... 31 common frames omitted
kafka-ui | Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
kafka-ui | at java.base/sun.security.provider.certpath.SunCertPathBuilder.build(SunCertPathBuilder.java:141)
kafka-ui | at java.base/sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:126)
kafka-ui | at java.base/java.security.cert.CertPathBuilder.build(CertPathBuilder.java:297)
kafka-ui | at java.base/sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:433)
kafka-ui | ... 36 common frames omitted
Any news about this? Any plan to fix?
Any news about this? Any plan to fix?
yeah, once we get enough bandwidth
Working on it in PR https://github.com/provectus/kafka-ui/pull/2832
https://news.ycombinator.com/item?id=28722315