在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。