我正在尝试为kafka经纪人设置TLS。我已经按照here的步骤进行操作,并能够使用TLS设置Kafka。 (在日志中,我看到配置端口的SSL条目)。
现在我面临连接生产者/消费者的问题。
ca-cert
是服务器上使用的证书。
keytool -keystore client.truststore.jks -alias CARoot -import -file ca-cert keytool -keystore client.keystore.jks -alias localhost -validity 365 -keyalg RSA -genkey keytool -keystore client.keystore.jks -alias CARoot -import -file ca-certproducer.properties
中添加了以下配置,security.protocol=SSL ssl.truststore.location=path to client.truststore.jks ssl.truststore.password=<password> ssl.keystore.location=path to client.keystore.jks ssl.keystore.password=<password> ssl.key.password=<password>
console producer
实用程序,
./kafka-console-producer.sh --broker-list 0.0.0.0:9092 --topic test --producer.config ../config/producer.properties但是在运行util时出现以下错误,
WARN在身份验证期间终止与节点-1的连接。这可能表示由于凭据无效而导致身份验证失败。 (org.apache.kafka.clients.NetworkClient)
怀疑我在客户端配置中遗漏了一些东西。任何帮助将不胜感激。
您是否尝试使用客户端证书?相反,我建议,尝试没有客户证书。在这种情况下,您只需要以下条目,
producer.properties
文件: -
security.protocol=SSL
ssl.truststore.location=/<path-to>/truststore.jks
ssl.truststore.type=JKS
在这里阅读更多相关信息 - http://kafka.apache.org/documentation/#security_configclients
对于客户端身份验证,kafka使用SASL,本文档的这一部分清楚地涵盖了它 - http://kafka.apache.org/documentation/#security_sasl