Debian Kafka如何配置SSL

958
2025/3/20 9:32:28
栏目: 云计算
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在Debian系统上配置Apache Kafka以使用SSL涉及几个步骤,包括生成SSL证书和密钥、配置Kafka服务器以及配置Kafka客户端。以下是一个基本的指南:

1. 生成SSL证书和密钥

首先,你需要生成SSL证书和密钥。你可以使用OpenSSL来完成这个任务。

生成密钥

keytool -genkey -alias kafka-server -keyalg RSA -keystore kafka.server.keystore.jks -storepass password -validity 365 -keysize 2048

生成证书签名请求(CSR)

keytool -certreq -alias kafka-server -file kafka.server.csr -keystore kafka.server.keystore.jks -storepass password

使用CA签发证书

假设你有一个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

2. 配置Kafka服务器

编辑Kafka服务器的配置文件server.properties,通常位于/etc/kafka/server.properties

启用SSL

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相关配置

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

3. 配置Kafka客户端

编辑Kafka客户端的配置文件client.properties,通常位于/etc/kafka/client.properties

启用SSL

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

4. 重启Kafka服务器

完成配置后,重启Kafka服务器以应用更改。

sudo systemctl restart kafka

5. 验证SSL连接

你可以使用kafkacat或其他Kafka客户端工具来验证SSL连接。

kafkacat -b localhost:9093 -L -t test_topic -Z

如果一切配置正确,你应该能够看到Kafka集群的详细信息。

注意事项

  • 确保所有路径和密码都是正确的。
  • 根据你的安全需求调整SSL协议和密码套件。
  • 定期更新证书以避免过期。

通过以上步骤,你应该能够在Debian系统上成功配置Apache Kafka以使用SSL。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: 如何配置Debian上的vsftp虚拟用户