【问题标题】:Issue with listener.name.{listenerName}.ssl configurations in KafkaKafka 中 listener.name.{listenerName}.ssl 配置的问题
【发布时间】: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


【解决方案1】:

我搞定了。

在侦听器属性中使用小写即可:

listener.name.localfwd.ssl 而不是listener.name.LOCALFWD.ssl

监听器、广告监听器和监听器安全映射保持 UPPERCASE://

【讨论】:

    猜你喜欢
    • 2018-05-27
    • 2017-07-22
    • 2018-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-02
    相关资源
    最近更新 更多