我正在尝试在kafka服务器上启用ssl身份验证。我遵循7.2节在下面的文件(链接)。
http://kafka.apache.org/documentation.html#security_ssl
遵循所有步骤,但在调用producer.bat文件将数据发送到主题时,我发现以下错误。
错误[producer clientid=console producer]到节点1的连接身份验证失败,原因是:ssl握手失败(org.apache.kafka.clients.networkclient)
原因:java.security.cert.certificateexception:找不到与localhost匹配的名称
我确实用创建了证书 CN=localhost
.
5条答案
按热度按时间a0zr77ik1#
我们遇到以下错误,这可能是因为Kafka的版本从1.x升级到2.x。
javax.net.ssl.sslhandshakeexception:常规sslengine问题。。。javax.net.ssl.sslhandshakeexception:常规sslengine问题。。。java.security.cert.certificateexception:找不到与***匹配的名称
或
[producer clientid=producer-1]到节点2的连接身份验证失败,原因是:ssl握手失败
ssl.endpoint.identification.algorithm的默认值更改为https,后者执行主机名验证(否则可能会发生中间人攻击)。将ssl.endpoint.identification.algorithm设置为空字符串以恢复以前的行为。apachekafka在2.0.0中的显著变化
解决方案:sslconfigs.ssl\u endpoint\u identification\u algorithm\u config,“”
p1tboqfb2#
就这么定了
ssl.endpoint.identification.algorithm=
它可以帮助你。i、 具有空值的e:
nkkqxpd93#
通常java.security.cert.certificateexception:找不到与localhost匹配的名称意味着证书中的主机名与服务器的主机名不匹配。
下面的线程对此错误有很好的解释。
p5cysglq4#
对我来说,输入keytool的名字和姓氏是个问题
yb3bgrhw5#
通过在客户端上将ssl.endpoint.identification.algorithm设置为空字符串,可以禁用服务器主机名验证