Kafka在SSL上不起作用

时间:2018-07-04 15:09:06

标签: docker ssl openssl apache-kafka

我正在尝试设置一个具有SSL支持的Kafka代理,但是当我尝试在该主题上放置一条消息时,它将发生超时。 这是我遵循的步骤:

openssl req -new -newkey rsa:4096 -days 365 -x509 -subj "/CN=Kafka-Security-CA" -keyout ca-key -out ca-cert -nodes

keytool -genkey -keystore kafka.server.keystore.jks -validity 365 -storepass xxx-keypass xxx -dname "CN=kafka_broker.net" -storetype pkcs12

keytool -keystore kafka.server.keystore.jks -certreq -file cert-file -storepass xxx -keypass xxx

openssl x509 -req -CA ca-cert -CAkey ca-key -in cert-file -out cert-signed -days 365 -CAcreateserial -passin pass:xxx

keytool -keystore kafka.server.truststore.jks -alias CARoot -import -file ca-cert -storepass xxx -keypass xxx -noprompt

keytool -keystore kafka.server.keystore.jks -import -file cert-signed -storepass xxx -keypass xxx -noprompt

keytool -keystore kafka.client.truststore.jks -alias CARoot -import -file ca-cert -storepass xxx -keypass xxx -noprompt

我知道通过SSL进行连接时会失败,因为这样做:

/kafka_2.11-1.1.0/bin/kafka-console-producer.sh --broker-list kafka_broker:9092 --topic test --producer.config client.properties
>ewqeq
[2018-07-04 14:53:18,022] ERROR Error when sending message to topic test with key: null, value: 5 bytes with error: (org.apache.kafka.clients.producer.internals.ErrorLoggingCallback)
org.apache.kafka.common.errors.TimeoutException: Failed to update metadata after 60000 ms.

其中client.properties是一个配置文件,其内容为:

security.protocol=SSL
ssl.truststore.location=./kafka.server.truststore.jks
ssl.truststore.password=xxx

我尝试了很多次,但是没有任何效果。 我尝试连接的客户端在docker容器中,并且也是kafka。它们在同一个网络下,并且kafka的主机名是kafka_broker,我在密钥库创建期间也将其提供给CN。

0 个答案:

没有答案