【发布时间】:2020-07-13 23:12:24
【问题描述】:
我正在尝试设置一个支持多个 ssl 密钥库和信任库的 Kafka 集群,具体取决于侦听器。
我设置了一个名为“LOCALFWD”的侦听器,并将其配置为指向信任库、密钥库等。
但是,由于某种原因,每次我尝试连接它时,我都会得到无效的握手和通常的“ERROR [Logging] javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection?”异常。请注意,无论有没有主机名验证,都会发生这种情况。
如果我默认为所有侦听器使用单一 SSL 配置,它会完美运行。
我尝试将配置都静态地放在 server.properties 文件中,或者使用 kafka-configs 动态地更改它们,但这些选项都不起作用。
不确定我在这里缺少什么?
server.properties 中的多个监听器配置:
listeners=PLAINTEXT://:9092,\
LOCALFWD://:9099,\
advertised.listeners=PLAINTEXT://:9092,\
LOCALFWD://localhost:30090,\
listener.security.protocol.map=PLAINTEXT:PLAINTEXT,\
LOCALFWD:SSL
listener.name.LOCALFWD.ssl.truststore.location=/etc/kafka/tls-local/kafka.truststore
listener.name.LOCALFWD.ssl.keystore.location=/etc/kafka/tls-local/kafka.keystore
listener.name.LOCALFWD.ssl.keystore.password=kafka
listener.name.LOCALFWD.ssl.truststore.password=kafka
listener.name.LOCALFWD.ssl.keystore.type=JKS
listener.name.LOCALFWD.ssl.key.password=kafka
listener.name.LOCALFWD.ssl.truststore.type=JKS
listener.name.LOCALFWD.ssl.client.auth=required
【问题讨论】:
-
仅供参考 LOCALFWD 侦听器存在的原因是因为我在 Kubernetes 中部署它 - 这样我就可以使用
kubectl port-forward命令连接到代理。 -
可以设置
security.inter.broker.protocol? -
我不是要更改代理间协议安全性,而是更改 LOCALFWD 侦听器安全性 - 除非那是不可能的?
标签: apache-kafka