springboot连kafka报错:org.apache.kafka.common.errors.SslAuthenticationException: SSL handshake failed Caused by: javax.net.ssl.SSLHandshakeException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
时间: 2023-07-13 11:40:37 浏览: 142
Spring boot maven项目报错unable to find valid certification path to requested target
这个错误通常是因为Kafka Broker的SSL证书无法被客户端信任所致。解决这个问题的方法是在你的应用程序中添加Kafka Broker的SSL证书,以便客户端可以信任它。
你可以按照以下步骤来解决这个问题:
1. 在你的浏览器中打开Kafka Broker的URL,并下载其SSL证书。在大多数情况下,你可以在浏览器的地址栏中点击锁形图标来查看证书并下载。
2. 将证书保存到你的电脑上,并使用Java的keytool工具将其导入到你的Java证书库中。例如,如果你使用的是Oracle JDK,则可以使用以下命令:
```
keytool -importcert -alias kafka -file /path/to/kafka/cert.pem -keystore $JAVA_HOME/jre/lib/security/cacerts
```
其中,/path/to/kafka/cert.pem应该替换为你下载的证书的实际路径,$JAVA_HOME应该替换为你的Java安装路径。
3. 在你的Spring Boot应用程序中配置Kafka客户端以使用SSL连接,并指定信任的证书。以下是一个示例配置:
```
spring:
kafka:
bootstrap-servers: kafka.example.com:9093
security:
protocol: SSL
trust-store-location: /path/to/truststore.jks
trust-store-password: changeit
```
其中,bootstrap-servers应该替换为你的Kafka Broker的实际地址和端口号,trust-store-location应该替换为你导入证书后生成的Java证书库路径,trust-store-password应该替换为你的Java证书库密码。
通过以上步骤,你应该能够成功地连接到Kafka Broker并发送/接收消息了。
阅读全文