0
点赞
收藏
分享

微信扫一扫

kafka开启ssl

一、搭建kafka

步骤忽略

二、使用keytool生成客户端和服务端证书


生成含有一个私钥的keystore文件
keytool -genkeypair -alias certificatekey -keyalg RSA -validity 3650 -keystore keystore.jks
查看生成的keystore文件
keytool -list -v -keystore keystore.jks
导出证书
keytool -export -alias certificatekey -keystore keystore.jks -rfc -file selfsignedcert.cer
导入证书到truststore文件中
keytool -import -alias certificatekey -file selfsignedcert.cer -keystore truststore.jks
查看生成的truststore文件
keytool -list -v -keystore truststore.jks

三、kafka配置ssl

1、config/server.properties
listeners=PLAINTEXT://192.168.10.133:9092,SSL://192.168.10.133:9093
ssl.keystore.location=/data/cert/test/keystore.jks
ssl.keystore.password=123456
ssl.truststore.location=/data/cert/test/truststore.jks
ssl.truststore.password=123456
ssl.client.auth=required
ssl.enabled.protocols=TLSv1.2
ssl.keystore.type=JKS
ssl.truststore.type=JKS
#关闭主机名
ssl.endpoint.identification.algorithm=
# 设置内部访问也用SSL,默认值为security.inter.broker.protocol=PLAINTEXT
security.inter.broker.protocol=SSL

2、config/producer.properties
#bootstrap.servers=localhost:9092
bootstrap.servers=192.168.10.133:9093
ssl.protocol=SSL
security.protocol=SSL
ssl.enabled.protocols=TLSv1.2
ssl.keystore.location=/data/cert/test/keystore.jks
ssl.keystore.password=123456
ssl.truststore.location=/data/cert/test/truststore.jks
ssl.truststore.password=123456
ssl.endpoint.identification.algorithm=

3、config/consumer.properties
#bootstrap.servers=localhost:9092
bootstrap.servers=192.168.10.133:9093
ssl.protocol=SSL
security.protocol=SSL
ssl.enabled.protocols=TLSv1.2
ssl.keystore.location=/data/cert/test/keystore.jks
ssl.keystore.password=123456
ssl.truststore.location=/data/cert/test/truststore.jks
ssl.truststore.password=123456
ssl.endpoint.identification.algorithm=

四、测试

1、启动服务
sh kafka-server-start.sh -daemon ../config/server.properties
ss -tulnp|grep java

2、测试ssl连接配置
openssl s_client -debug -connect 192.168.10.133:9093 -tls1_2

3、生产者
./kafka-console-producer.sh --broker-list 192.168.10.133:9093 --topic test --producer.config ../config/producer.properties
可以输入内容,最后按ctrl+d退出

4、消费者
./kafka-console-consumer.sh --bootstrap-server 192.168.10.133:9093 --topic test --from-beginning --consumer.config ../config/consumer.properties

举报

相关推荐

0 条评论