[英]Spring-Kafka not picking up SSL config
我正在尝试连接到 Kafka 代理,该代理强制执行 2 路 SSL/TLS 来验证和授权客户端。 我已经通过正确的权限创建了证书签名并存储在我的本地用户目录中。 我在用
我的application.properties
有
spring.kafka.bootstrap-server=vera-kafka-dev.lia.com:49092
spring.kfka.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 值正在打印
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
...
所以看看这个 output 看起来应用程序没有从 application.properties 文件中获取值。 显然与经纪人的连接已断开。
我错过了什么吗? TIA
基本上我同意加里·拉塞尔的评论。 您必须要么利用自动配置功能,要么声明一个KafkaProperties
bean,或者手动完成所有操作。
关于属性,名称似乎存在一些差异。 它们最精确的定义在 Z68995FCBF432492D1548Z94DAC04 文件中的/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
应该是spring.kafka.bootstrap-servers
的复数形式;spring.kafka.ssl.keystore.location
should be spring.kafka.ssl.key-store-location
; spring.kafka.ssl.keystore-location
也有效,只是它已被弃用。spring.kafka.ssl.key-store-password
, spring.kafka.ssl.trust-store-location
, and spring.kafka.ssl.trust-store-password
.spring.kfka.topic
是什么。 您可能需要仔细检查。 也就是说,显然你有spring.kafka.bootstrap-server
以某种方式工作,我无法使用相同版本的库重现,所以也许你是手动做的? 这样您就必须手动完成所有操作,例如通过@Value
。
此外,如果您想使用文件系统上的文件,您需要使用file:
协议指定位置。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.