我有一个应用程序,它有多个应用程序服务器所需的多个密钥,az.crt,ks.crt。公钥用于从2个不同的服务器访问2个Kafka主题。其中一个密钥用于连接到Mongodb服务器,该服务器需要1个TLS/SSL证书和不同的密码。还有一种Azure连接,它也需要一个带有用户名和密码的公共证书来连接不同的密码套件。我能看到的使用证书连接的唯一方法是这样的:
// config1 // first kafka instance server1
ssl: {
cert: fs.readFileSync('./ks.crt', 'utf-8')
},
sasl: {
mechanism: 'SCRAM-SHA-512',
username: env.kafkaUsername1,
password: env.kafkaPassword1,
}
// config2 - 2nd Kafka instance server2
ssl: {
rejectUnauthorized: false,
ca: [readFileSync('./az.crt', 'utf-8')],
},
sasl: {
mechanism: 'SCRAM-SHA-256',
username: env.kafkaUsername2,
password: env.kafkaPassword2,
}
这将使得无法处理具有不同连接标准的2个证书。虽然两个密钥都是由同一个CA颁发的,但用户名和密码都是不同的。似乎只有一种机制可以在ssl对象中加载证书,因为我有两种情况,一种是az.crt和ks.crt,我需要2个需要ssl{}部分的声明。
有没有可能使用任何NodeJS选项来解决这个问题?
1条答案
按热度按时间kpbpu0081#
创建第二个KafkaJS示例。