在Debian系统上配置Apache Kafka以使用SSL涉及几个步骤,包括生成SSL证书和密钥、配置Kafka服务器以及配置Kafka客户端。以下是一个基本的指南:
首先,你需要生成SSL证书和密钥。你可以使用OpenSSL来完成这个任务。
keytool -genkey -alias kafka-server -keyalg RSA -keystore kafka.server.keystore.jks -storepass password -validity 365 -keysize 2048
keytool -certreq -alias kafka-server -file kafka.server.csr -keystore kafka.server.keystore.jks -storepass password
假设你有一个CA证书和密钥,你可以使用它们来签发Kafka服务器的证书。
keytool -x509 -alias kafka-server -file kafka.server.crt -keystore kafka.server.keystore.jks -storepass password -ext SAN=dns:kafka.example.com -validity 365
编辑Kafka服务器的配置文件server.properties
,通常位于/etc/kafka/server.properties
。
listeners=SSL://:9093
ssl.keystore.location=/etc/kafka/kafka.server.keystore.jks
ssl.keystore.password=password
ssl.key.password=password
ssl.truststore.location=/etc/kafka/kafka.server.truststore.jks
ssl.truststore.password=password
ssl.enabled.protocols=TLSv1.2
ssl.cipher.suites=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
ssl.protocol=ECDHE_RSA
编辑Kafka客户端的配置文件client.properties
,通常位于/etc/kafka/client.properties
。
security.protocol=SSL
ssl.truststore.location=/etc/kafka/kafka.client.truststore.jks
ssl.truststore.password=password
ssl.keystore.location=/etc/kafka/kafka.client.keystore.jks
ssl.keystore.password=password
ssl.enabled.protocols=TLSv1.2
ssl.cipher.suites=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
ssl.protocol=ECDHE_RSA
完成配置后,重启Kafka服务器以应用更改。
sudo systemctl restart kafka
你可以使用kafkacat
或其他Kafka客户端工具来验证SSL连接。
kafkacat -b localhost:9093 -L -t test_topic -Z
如果一切配置正确,你应该能够看到Kafka集群的详细信息。
通过以上步骤,你应该能够在Debian系统上成功配置Apache Kafka以使用SSL。
辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
推荐阅读: 如何配置Debian上的vsftp虚拟用户