gpt4 book ai didi

ssl - 在 kafka 生产者中使用/127.0.0.1(SSL 握手失败)(org.apache.kafka.common.network.Selector)认证失败

转载 作者:行者123 更新时间:2023-12-04 22:41:46 24 4
gpt4 key购买 nike

我使用以下命令在 kafka 中配置了 SSL:-

  • 生成 CA
    openssl req -new -x509 -keyout ca-key -out ca-cert -days 3650
  • 创建信任库
    keytool -keystore kafka.server.truststore.jks -alias ca-cert -import -file ca-cert
  • 创建 keystore
    keytool -keystore kafka.server.keystore.jks -alias kafka -validity 3650 -genkey -keyalg RSA -ext SAN=dns:localhost
  • 创建证书签名请求 (CSR)
    keytool -keystore kafka.server.keystore.jks -alias kafka -certreq -file ca-request-zookeeper
  • 签署企业社会责任
    openssl x509 -req -CA ca-cert -CAkey ca-key -in ca-request-kafka -out ca-signed-kafka -days 3650 -CAcreateserial
  • 将 CA 导入 Keystore
    keytool -keystore kafka.server.keystore.jks -alias ca-cert -import -file ca-cert
  • 将步骤 5 中的签名证书导入 Keystore
    keytool -keystore kafka.server.keystore.jks -alias kafka -import -file ca-signed-kafka

  • 并在 server.properties 文件中添加了以下属性:-
    ssl.truststore.location=PATH-TO-YOUR-KAFKA-DIR/ssl/kafka.broker0.truststore.jks
    ssl.truststore.password=vinodts
    ssl.keystore.location=PATH-TO-YOUR-KAFKA-DIR/ssl/kafka.broker0.keystore.jks
    ssl.keystore.password=vinodks
    ssl.key.password=vinodks
    security.inter.broker.protocol=SSL
    ssl.client.auth=必需
    ssl.protocol=TLSv1.2
    并且在 localhost:9092 上运行的 kafka 服务器中的 SSL 已成功运行。
    我使用以下命令为 kafka-console-producer 创建 CA:-
    keytool -keystore kafka.producer.truststore.jks -alias ca-cert -import -file ca-cert
    keytool -keystore kafka.producer.keystore.jks -alias kafka-producer -validity 3650 -genkey -keyalg RSA -ext SAN=dns:localhost
    keytool -keystore kafka.producer.keystore.jks -alias kafka-producer -certreq -file ca-request-producer
    openssl x509 -req -CA ca-cert -CAkey ca-key -in ca-request-producer -out ca-signed-producer -days 3650 -CAcreateserial
    keytool -keystore kafka.producer.keystore.jks -alias ca-cert -import -file ca-cert
    keytool -keystore kafka.producer.keystore.jks -alias kafka-producer -import -file ca-signed-producer
    在 producer.properties 文件中添加了以下属性:-
    bootstrap.servers=localhost:9092
    security.protocol=SSL
    ssl.protocol=TLSv1.2
    ssl.truststore.location=PATH-TO-YOUR-KAFKA-DIR/ssl/kafka.producer.truststore.jks
    ssl.truststore.password=vinodts
    ssl.keystore.location=PATH-TO-YOUR-KAFKA-DIR/ssl/kafka.producer.keystore.jks
    ssl.keystore.password=vinodks
    ssl.key.password=vinodks1
    现在,当我尝试运行命令时:-
    kafka-console-producer.bat --topic ssl-topic ../../config/producer.properties --broker-list localhost:9092
    我得到: -
    引导代理 localhost:9092 (id: -1 rack: null) 断开连接 (org.apache.kafka.clients.NetworkClient) 在生产者窗口和
    在 kafka 窗口中使用/127.0.0.1(SSL 握手失败)(org.apache.kafka.common.network.Selector)获取失败的身份验证。
    有人知道我做错了什么吗?提前致谢

    最佳答案

    INFO [SocketServer listenerType=ZK_BROKER, nodeId=0] 使用/127.0.0.1 (channelId=127.0.0.1:9092-127.0.0.1:55412-1) 认证失败(SSL 握手失败) (org.apache.kafka.common.network .选择器)

     cd kafka/config
    创建一个新的 ssl.config 文件并通过以下行
        ssl.endpoint.identification.algorithm=https
    security.protocol=SSL
    ssl.keystore.location=kafka/ssl/kafka.broker0.keystore.jks
    ssl.keystore.password=password
    ssl.key.password=password
    ssl.truststore.location=kafka/ssl/kafka.broker0.truststore.jks
    ssl.truststore.password=passWord
    现在你试试(--command-config config/ssl.config)
        sudo bin/kafka-topics.sh --list --bootstrap-server localhost:9092 --command-config config/ssl.config
    它的工作

    Blockquote

    关于ssl - 在 kafka 生产者中使用/127.0.0.1(SSL 握手失败)(org.apache.kafka.common.network.Selector)认证失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70270702/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com