问题描述
我通过 Strimzi 操作符在 Openshift 上部署了一个 Kafka 集群。集群配置了 SSL 以进行外部连接。 我能够通过提取集群证书将我的 Java 使用者连接到集群,然后创建 Java 信任存储,如下所示:
oc extract secret/my-cluster-cluster-ca-cert --keys=ca.crt --to=- > ca.crt
keytool -import -trustcacerts -alias root -file ca.crt -keystore truststore.jks -storepass password -noprompt
我现在面临的问题是如何配置我的Python 使用者 以使用 SSL 连接。 我可以从我的集群中提取以下文件:
- ca.crt
- ca.p12
- ca.password
按照 Confluent 团队 Using SSL with librdkafka 提供的文档,我尝试了不同的选择,但没有成功。
我低估的是 Python 只接受 PEM 格式,所以我必须将我的 ca.crt 转换为 ca.pem :
openssl x509 -in ca.crt -out cert.pem
然后在我的 Python 消费者中:
'ssl.ca.location': "C:\kafka\cert",'ssl.certificate.location': "C:\kafka\cert\cert.pem"
但是,我不断收到错误:
%4|1612028623.497|经纪人|insert_consumer#consumer-1| [thrd:app]:代理名称“https://kafka-cluster-kafka-ext-xxxxxxxx.com:443”解析错误:不支持的协议“HTTPS”
我花了很多时间试图调试和理解问题,但没有任何运气。我遇到的一个主要困惑是 ca.p12 文件实际上是什么?
我做的认证转换错了吗?
我的环境:Windows 10、Python 3.6.8 和 confluent-kafka 1.5.0
非常感谢任何帮助或指导。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)