我从Node.js应用程序尝试使用node-rdkafka客户端连接到Apache Kafka代理。由于kafka代理列表已启用SSL,因此使用以下ssl选项配置node-rdkafka生产者:
我已经尝试使用其他有效证书和密钥,并且还尝试使用选项ssl.ca.certificate:<CA-location>
添加CA
但仍然没有运气。
在librdkafka github页面中进行搜索,发现了一个类似的问题,其中建议的解决方案是使用api.verison.request:false
,也尝试了此方法,但没有运气仍然出现相同的错误
错误:代理传输失败
尝试使用另一个具有相同ssl证书和密钥的kafka客户端no-kafka来连接到相同的代理列表并能够建立连接。
我们只能使用node-rdkafka。
使用node-rdkafka的生产者配置:
var producer = new Kafka.Producer({
'debug':'All',
'metadata.broker.list': 'comma separated list of ssl enabled broker hosts and port',
'dr_cb': true,
'security.protocol': 'ssl',
'ssl.certificate.location': path.join(__dirname, 'server.crt'),
'ssl.key.location': path.join(__dirname, 'server.key'),
'ssl.ca.location' : path.join(__dirname,'DigiCertSHA2SecureServerCA-int.cer'),
});
我希望建立一个SUCCESS MESSAGE
的连接,但实际结果是Error : Broker transport Failure