ssl - 在 Kafka Strimzi 中使用我的可信证书

标签 ssl kubernetes apache-kafka strimzi

我已经使用 Strimzi 在 Kubernetes 上配置了一个 Kafka 集群。使用这篇文章 - https://itnext.io/kafka-on-kubernetes-the-strimzi-way-part-2-43192f1dd831
但是我公司的安全服务不希望在 UAT 中使用自签名证书部署此解决方案。
您能否告诉我,我可以将我们的信任证书从受信任的冲浪中心导入到这个 Kafka 解决方案中吗?
我将此部分添加到我的 yml 文件中,请参阅 https://strimzi.io/docs/operators/master/using.html#kafka-listener-certificates-str
配置:
经纪人证书链和 key :
secret 名称:es-kafka-secret
证书:certificate.crt
key :证书.key
但是当我测试时我有错误


[thrd:ssl://104.42.195.73:9094/bootstrap]: ssl://104.42.195.73:9094/bootstrap: SSL handshake failed: error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed: broker certificate could not be verified, verify that ssl.ca.location is correctly configured or root CA certificates are installed (install ca-certificates package) (after 377ms in state CONNECT)
panic: interface conversion: kafka.Event is kafka.Error, not *kafka.Message

goroutine 38 [running]:
main.main.func2(0xc421004060)
        /root/kafka-kubernetes-strimzi/part-3/go-client-app/kafka-tls-auth-client.go:85 +0x2a5
created by main.main
        /root/kafka-kubernetes-strimzi/part-3/go-client-app/kafka-tls-auth-client.go:74 +0x109

添加证书后如何检查连接?
请你帮助我好吗?谢谢。

最佳答案

如 Strimzi 文档中所述 - 您有两个选项可供选择:

  • 您可以为集群或客户端证书颁发机构提供自己的 CA。更多详情见https://strimzi.io/docs/operators/latest/full/using.html#installing-your-own-ca-certificates-str
  • 您可以让 Strimzi 将其自签名 CA 用于 ZooKeeper、Kafka 复制等,并且只需为客户端将连接的 Kafka 监听器配置您自己的服务器证书。更多详情见https://strimzi.io/docs/operators/latest/full/using.html#kafka-listener-certificates-str

  • 配置后,您可以检查它是否正确应用,例如使用 OpenSSL (openssl s_client ...)。或者您可以使用 Java 客户端并设置 Java 系统属性 javax.net.debug值(value)ssl - 这还将打印有关 TLS 握手、使用的证书等的详细信息。

    关于ssl - 在 Kafka Strimzi 中使用我的可信证书,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67097928/

    相关文章:

    kubernetes - Kubernetes中的微服务发现服务

    unix - 如果已经有作业正在运行,如何防止 Kubernetes 中的 Cronjob 执行

    java - Samza/Kafka 更新元数据失败

    ssl - 如何忽略 Feign 中的 SSL 证书信任错误?

    .net - HttpWebRequest 似乎没有发送客户端 SSL 证书

    spring - Spring HTTP 调用程序的 TLS/SSL 配置

    C# HttpWebRequest 到 HTTPS 失败

    templates - 将列表分配给图表中的键

    apache-kafka - Kafka Connect 连接器线程的用途是什么?

    apache-kafka - 在 Confluence 4.1 + Kafka 1.1 中为 Kafka Connect 打包自定义 Java `partitioner.class` 插件?