Kafka Broker 默认情况下不启用加密传输。但是,你可以通过以下步骤为 Kafka Broker 配置加密传输:
首先,你需要为 Kafka Broker 生成 SSL 证书和私钥。你可以使用 OpenSSL 或自己生成的证书。以下是使用 OpenSSL 生成自签名证书的命令:
openssl req -x509 -newkey rsa:4096 -keyout kafka_server.key -out kafka_server.crt -days 365 -nodes
这将生成两个文件:kafka_server.key
(私钥)和 kafka_server.crt
(证书)。
在 Kafka Broker 的配置目录(通常是 /etc/kafka/
或 /usr/local/kafka/config/
)下,创建或编辑 server.properties
文件。将以下内容添加到文件中:
listeners=SSL://:9093
advertised.listeners=SSL://your.server.ip:9093
security.inter.broker.protocol=SSL
ssl.truststore.location=/path/to/your/truststore.jks
ssl.truststore.password=your_truststore_password
ssl.keystore.location=/path/to/your/kafka_server.jks
ssl.keystore.password=your_keystore_password
ssl.key.password=your_key_password
请根据你的实际情况替换 your.server.ip
、/path/to/your/truststore.jks
、/path/to/your/kafka_server.jks
和密码。
如果你还没有信任库(JKS),你需要将其创建并导入 Kafka 服务器的证书。使用以下命令创建信任库并导入证书:
keytool -import -trustcacerts -alias kafka -file /path/to/your/kafka_server.crt -keystore /path/to/your/truststore.jks
保存配置文件并重启 Kafka Broker 以应用更改。在 Linux 系统上,你可以使用以下命令重启 Kafka Broker:
sudo systemctl restart kafka
现在,Kafka Broker 已经配置为使用 SSL 加密传输。客户端在连接到 Kafka Broker 时需要提供相应的 SSL 证书和私钥。