首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Spring-Kafka没有选择SSL配置。

Spring-Kafka没有选择SSL配置。
EN

Stack Overflow用户
提问于 2022-08-29 21:13:07
回答 1查看 39关注 0票数 0

我正试图连接到Kafka broker,后者执行双向SSL/TLS来验证和授权客户端。我已经通过正确的权限创建了证书签名,并存储在我的本地用户目录中。我在用

卡夫卡2.8.5

  • Spring-Boot 2.6.7
  • Spring-

我的application.properties

代码语言:javascript
复制
spring.kafka.bootstrap-server=vera-kafka-dev.lia.com:49092
spring.kafka.topic=lucija-eliza-topic
spring.kafka.security.protocol=SSL
spring.kafka.ssl.keystore.location=/c/users/sibusiso/certs/my-test-cert.jks
spring.kafka.ssl.keystore.password=mysecretpwd
spring.kafka.ssl.truststore.location=/c/users/sibusiso/certs/my-test-cert.jks
spring.kafka.ssl.truststore.password=mysecretpwd

但是ProducerConfig值是打印的

代码语言:javascript
复制
acks= -1
batch.size = 16384
bootstrap.servers = [vera-kafka-dev.lia.com:49092]
buffer.memory = 33554432
...
security.protocol = PLAINTEXT
security.providers = null
ssl.enabled.protocols = [TLSv1.2, TLSv1.3]
ssl.endpoint.identification.algorithm = https
ssl.key.password = null
ssl.keysore.location = null
ssl.keystore.password = null
ssl.keystore.type = JKS
ssl.protocol = TLSv1.3
...
ssl.trustsore.location = null
ssl.truststore.password = null
ssl.truststore.type = JKS
...

因此,从这个输出来看,应用程序似乎没有从application.properties文件中获取值。很明显,与经纪人的连接是断开的。

我是不是遗漏了什么?提亚

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-08-30 06:57:01

基本上我同意Garry Russell的评论。您必须利用自动配置功能,或者声明KafkaProperties bean,或者手动完成所有操作。

在财产方面,似乎在名字上有一些出入。它们最精确的定义在jar文件中的/META-INF/spring-configuration-metadata.json/META-INF/additional-spring-configuration-metadata.json中。如果您检查这些文件,最重要的是Spring的自动配置jar (例如spring-boot-autoconfigure-2.6.7.jar)中的文件,您将看到文件中的一些属性的名称不太正确:

  • spring.kafka.bootstrap-server在plural;
  • spring.kafka.ssl.keystore.location中应该是spring.kafka.bootstrap-serversspring.kafka.ssl.keystore-location工作也是,只是它是deprecated.
  • Similarly,--其他属性的名称是:spring.kafka.ssl.key-store-passwordspring.kafka.ssl.trust-store-locationspring.kafka.ssl.trust-store-password.
  • I'm,即使错误更正了,也不确定spring.kfka.topic是什么。你可能需要double-check.

尽管如此,显然您得到了spring.kafka.bootstrap-server工作,我无法使用相同版本的库进行复制,所以您可能是手工完成的吗?这样,您就必须手动完成所有操作,例如通过@Value

此外,如果要处理文件系统上的文件,则需要使用file:协议指定位置。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73534715

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档