将安全性集成到启用 SSL 的 Kafka 1.0

2024-02-25

我无法将安全性集成到启用了 ssl 的 Kafka 1.0。这是我的 server.properties 的更改

security.inter.broker.protocol=SSL
listeners=PLAINTEXT://localhost:9092,SSL://localhost:9094

这是我的广告听众

advertised.listeners=PLAINTEXT://EXTERNAL_IP:9092,SSL://EXTERNAL_IP:9094
ssl.keystore.location=/var/private/ssl/server.keystore.jks
ssl.keystore.password=PASSWORD
ssl.key.password=PASSWORD
ssl.truststore.location=/var/private/ssl/server.truststore.jks
ssl.truststore.password=PASSWORD
ssl.client.auth=required
ssl.keystore.type=JKS
ssl.truststore.type=JKS

其他配置包括

broker.id=1
advertised.host.name=EXTERNAL_IP_ADDRESS
host.name=0.0.0.0
num.network.threads=3
num.io.threads=8
auto.create.topics.enable=false
min.insync.replicas=2
log.dirs=/kafka1,/kafka2
num.partitions=10
num.recovery.threads.per.data.dir=2
offsets.topic.replication.factor=2
transaction.state.log.replication.factor=2
transaction.state.log.min.isr=2
log.retention.hours=24
log.retention.bytes=200073741824
zookeeper.connect=BROKER1_INTERNAL_IP:2181,BROKER2_INTERNAL_IP:2181,BROKER3_INTERNAL_IP:2181
security.inter.broker.protocol=SSL

我对我的 3 个经纪人做了同样的事情,但始终只有两个经纪人正在启动,而第三个经纪人则抛出许多“无法建立”消息。例如,broker-1 和broker-3 似乎已开始

[2018-04-12 13:50:00,406] INFO [KafkaServer id=1] started (kafka.server.KafkaServer)
[2018-04-12 13:49:57,942] INFO [KafkaServer id=3] started (kafka.server.KafkaServer)

但是服务器 2 正在抛出这些

    [2018-04-12 13:58:34,247] WARN [Controller id=2, targetBrokerId=1] Connection to node 1 could not be established. Broker may not be available. (org.apache.kafka.clients.NetworkClient)
[2018-04-12 13:58:34,254] WARN [Controller id=2, targetBrokerId=3] Connection to node 3 could not be established. Broker may not be available. (org.apache.kafka.clients.NetworkClient)
[2018-04-12 13:58:34,349] WARN [Controller id=2, targetBrokerId=2] Connection to node 2 could not be established. Broker may not be available. (org.apache.kafka.clients.NetworkClient)

如果我删除security.inter.broker.protocol=SSL一切正常。但没有安全感。 有人可以指导我解决这个问题吗?

我删除了 PLAINTEXT,现在我在 3 个代理之一中收到此错误

org.apache.kafka.common.errors.SslAuthenticationException: SSL handshake failed
Caused by: javax.net.ssl.SSLHandshakeException: General SSLEngine problem
    at sun.security.ssl.Handshaker.checkThrown(Handshaker.java:1529)
    at sun.security.ssl.SSLEngineImpl.checkTaskThrown(SSLEngineImpl.java:535)
    at sun.security.ssl.SSLEngineImpl.writeAppRecord(SSLEngineImpl.java:1214)
    at sun.security.ssl.SSLEngineImpl.wrap(SSLEngineImpl.java:1186)
    at javax.net.ssl.SSLEngine.wrap(SSLEngine.java:469)
    at org.apache.kafka.common.network.SslTransportLayer.handshakeWrap(SslTransportLayer.java:435)
    at org.apache.kafka.common.network.SslTransportLayer.doHandshake(SslTransportLayer.java:301)
    at org.apache.kafka.common.network.SslTransportLayer.handshake(SslTransportLayer.java:255)
    at org.apache.kafka.common.network.KafkaChannel.prepare(KafkaChannel.java:79)
    at org.apache.kafka.common.network.Selector.pollSelectionKeys(Selector.java:460)
    at org.apache.kafka.common.network.Selector.poll(Selector.java:398)
    at org.apache.kafka.clients.NetworkClient.poll(NetworkClient.java:460)
    at org.apache.kafka.clients.NetworkClientUtils.awaitReady(NetworkClientUtils.java:71)
    at kafka.server.ReplicaFetcherBlockingSend.sendRequest(ReplicaFetcherBlockingSend.scala:91)
    at kafka.server.ReplicaFetcherThread.fetchEpochsFromLeader(ReplicaFetcherThread.scala:312)
    at kafka.server.AbstractFetcherThread.maybeTruncate(AbstractFetcherThread.scala:130)
    at kafka.server.AbstractFetcherThread.doWork(AbstractFetcherThread.scala:102)
    at kafka.utils.ShutdownableThread.run(ShutdownableThread.scala:64)
Caused by: javax.net.ssl.SSLHandshakeException: General SSLEngine problem
    at sun.security.ssl.Alerts.getSSLException(Alerts.java:192)
    at sun.security.ssl.SSLEngineImpl.fatal(SSLEngineImpl.java:1728)
    at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:330)
    at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:322)
    at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1614)
    at sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:216)
    at sun.security.ssl.Handshaker.processLoop(Handshaker.java:1052)
    at sun.security.ssl.Handshaker$1.run(Handshaker.java:992)
    at sun.security.ssl.Handshaker$1.run(Handshaker.java:989)
    at java.security.AccessController.doPrivileged(Native Method)
    at sun.security.ssl.Handshaker$DelegatedTask.run(Handshaker.java:1467)
    at org.apache.kafka.common.network.SslTransportLayer.runDelegatedTasks(SslTransportLayer.java:389)
    at org.apache.kafka.common.network.SslTransportLayer.handshakeUnwrap(SslTransportLayer.java:469)
    at org.apache.kafka.common.network.SslTransportLayer.doHandshake(SslTransportLayer.java:328)
    ... 11 more
Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
    at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:397)
    at sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:302)
    at sun.security.validator.Validator.validate(Validator.java:260)
    at sun.security.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.java:324)
    at sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:281)
    at sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:136)
    at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1601)
    ... 20 more
Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
    at sun.security.provider.certpath.SunCertPathBuilder.build(SunCertPathBuilder.java:141)
    at sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:126)
    at java.security.cert.CertPathBuilder.build(CertPathBuilder.java:280)
    at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:392)
    ... 26 more

None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将安全性集成到启用 SSL 的 Kafka 1.0 的相关文章

  • Kafka REST 代理 API 有哪些好处?

    我不知道Kafka REST Proxy API的优点 它是一个 REST API 所以我知道它对于管理来说很方便 人们为什么使用 Kafka REST 代理 API 添加对生产者或消费者的 Maven 依赖是否很麻烦 另外 我知道kafk
  • 向 Python 2.6 添加 SSL 支持

    我尝试使用sslPython 2 6 中的模块 但我被告知它不可用 安装OpenSSL后 我重新编译2 6 但问题仍然存在 有什么建议么 您安装了 OpenSSL 开发库吗 我必须安装openssl devel例如 在 CentOS 上 在
  • 以编程方式将 PEM 证书导入 Java KeyStore

    我有一个由两个文件 crt 和 key 组成的客户端证书 我希望将其导入到 java KeyStore 中 然后在 SSLContext 中使用 以通过 Apache 的 HTTPClient 发送 HTTP 请求 但是 我似乎找不到一种以
  • 使用Spring Cloud Stream Kafka动态更改instanceindex

    如同 在运行时更改 spring cloud stream 实例索引 计数 https stackoverflow com questions 37579939 changing spring cloud stream instance i
  • Kafka 主题删除不起作用

    我使用的是 Kafka 0 8 2 版本 在开发过程中 我想我可能需要删除一个主题 所以我所做的是将以下行放入服务器配置文件中并启动两个 kafka 服务器 delete topic enable true 当我需要删除一个主题并运行以下命
  • 如何在 C# 中创建 PKCS12 .p12 文件?

    这可能是一个n00b问题 但我在这方面确实没有任何经验 我需要创建一个包含 X509 证书和私钥的 p12 捆绑包 我当前有两个对象 X509Certificate2 和包含关键信息的 RSAParameters 对象 如何将它们合并到 p
  • 如何更改主题的起始偏移量?

    是否可以更改新主题的起始偏移量 我想创建一个新主题并从偏移量开始阅读10000 How 自从卡夫卡0 11 0 0 https issues apache org jira browse KAFKA 4743你可以使用脚本kafka con
  • Android 中的 SSL 会话重用问题(J2SE 工作正常)

    我一直在 iOS Java 桌面和 Android 上尝试 SSL 会话重用 iOS 似乎尝试重用 SSL 会话 但并非总是如此 只要您在创建 SSLEngine 时传递主机名 端口 Java 似乎总是会重用会话 当我使用 Android
  • 如何使用 node.js 请求模块使用我自己的证书进行 SSL 调用?

    我正在使用 node js 和此请求模块对另一台服务器进行 HTTP 调用 https github com mikeal request https github com mikeal request 效果很好 我现在需要修改此代码以使用
  • 无法使用前导 ../ 在顶级目录之上退出

    我有一个 asp net 网站 我们有管理区域 其中的登录页面仅供管理员使用 并且所有网站都允许所有人使用 当我收到此错误时 我需要询问如何为其定义正确的安全配置 Cannot use a leading to exit above the
  • 如何在docker的keycloak中添加SSL

    我在将 SSL 证书添加到在 docker 上运行的 Keycloak 时遇到问题 我通过负载均衡器从 AWS EC2 获得了 SSL 证书 但不知道如何将其添加到 docker 上的 Keycloak 中 我正在通过谷歌搜索 但尚未找到任
  • Kafka:隔离级别的影响

    我有一个用例 我需要 Kafka 分区中的 100 可靠性 幂等性 无重复消息 以及顺序保留 我正在尝试使用事务 API 来建立概念验证来实现这一目标 有一个名为 isolation level 的设置 我很难理解 In this arti
  • Kafka Streams 如何处理包含不完整数据的分区?

    Kafka Streams 引擎将一个分区映射到一个工作线程 即 Java 应用程序 以便该分区中的所有消息都由该工作线程处理 我有以下场景 并试图了解它是否仍然可行 我有一个主题 A 有 3 个分区 发送给它的消息由 Kafka 随机分区
  • Android SSL 无对等证书

    我有一个例外 没有同行证书 当我询问谷歌时 我得到了解决方案 我信任所有证书 但这个问题的答案是 它是不安全的 所以我给班级打电话 HostnameVerifier hostnameVerifier org apache http conn
  • Amazon Web Services:设置 S3 策略以允许 putObject 和 getObject 但拒绝 listBucket

    我在 Amazon S3 上使用 getObject 和 putObject 请求 并在创建访问存储桶的策略时发现 如果我不允许 listBucket 则会收到 访问被拒绝 错误 这样做的问题是 listBucket 意味着用户可以列出存储
  • 使用普通用户和 https 的 gitea

    我正在尝试设置 gitea 以使用 https 和我从 LetsEncrypt 获得的证书 运行该服务作为普通用户 我已经让它与普通用户在端口 80 上使用 http 一起工作git并使用 iptables 将端口 80 重定向到端口 30
  • 链和主证书添加之间 X509 结构的正确释放是否有所不同?

    我需要从内存中添加 PEM 类型证书 这意味着我无法使用内置的从文件读取帮助程序 我的问题是没有关于如何释放内存的文档 现在我最好的猜测如下 SSL CTX use certificate X509 structure SHOULD be
  • 防止隐藏的输入被更改

    这一直让我压力很大 我有一个隐藏的输入
  • Kafka - 如何同时使用过滤器和过滤器?

    我有一个 Kafka 流 它从一个主题获取数据 并且需要将该信息过滤到两个不同的主题 KStream
  • SSL如何使用对称和非对称加密?如何管理一台主机上多个站点的认证? [复制]

    这个问题在这里已经有答案了 首先 引用微软TechNet的一些内容管理 Microsoft 证书服务和 SSL http technet microsoft com en us library bb727098 aspx 回顾一下 安全 S

随机推荐

  • 为各种 Typescript 输入文件定制特定的输出文件

    我有一个使用 TypeScript 的 Web 项目 它对编译的输出文件有一些相当复杂的要求 例如 我需要将一个目录中的所有 ts 文件编译为一个 js 文件 并将另一目录中的所有 ts 文件编译为不同的 js 文件 它比这更复杂 但你明白
  • 如何在 Mac OS X 上将 CALayer 添加到 NSView

    我正在尝试学习如何使用和实施CALayer在 Mac Objective C 应用程序中 但我似乎无法做最基本的事情 添加一个新图层并设置其背景颜色 框架大小 谁能看到我的代码有什么问题吗 CALayer layer CALayer lay
  • 如何为 Kubernetes 作业设置时间限制?

    我想启动一项 Kubernetes 作业并给它一个固定的完成期限 如果截止日期到来时 Pod 仍在运行 我希望该作业自动被终止 这样的事情存在吗 起初我以为工作规范是activeDeadlineSeconds涵盖了这个用例 但现在我看到了a
  • 当我在容器中运行节点服务器时出现“express.default is not a function”错误

    当我在远程容器内运行节点服务器时 我收到了 express default is not a function 错误 有什么线索吗 main ts 文件 import as express from express const server
  • 如何调用 iPhone 地图获取以当前位置作为起始地址的路线

    我知道可以通过调用来启动 iPhone 地图应用程序openURL在带有参数的谷歌地图 URL 上saddr and daddr带有位置字符串或纬度 经度 参见下面的示例 但我想知道是否可以将起始地址设为 当前位置 地图书签 以便我可以使用
  • 如何在 php 中使用 Spreadsheet_Excel_Writer() 在 Excel 单元格中输出超过 255 个字符?

    我试图在 Excel 电子表格中输出几段文本 但现在文本被截断为仅显示 255 个字符 代码非常简单 xls new Spreadsheet Excel Writer sheet xls gt addWorksheet name forea
  • 查看监听集合事件

    我有一个看法myView和一个集合myCollection 当我add一个模型myCollection the add事件被触发myCollection 我怎样才能拥有myView听听那个add event 您可以在实例化集合时将集合传递给
  • Android:RadioButton Toast 中的帮助

    如果用户单击 下一步 按钮而不选择选项 则必须显示一条消息 请选择任何一个 否则它应该转到下一个屏幕 我已经尝试过 但它不会进入下一个屏幕 而是显示吐司 请选择任何一个 和我的代码 public class Question1 extend
  • Vue - 添加 CDN 组件,无需 webpack

    我想添加this https cdn jsdelivr net npm vuejs auto complete 0 9 0 dist build js不使用 webpack 的情况下将组件添加到我的 Vue js 项目中 我尝试将其添加到h
  • BlackBerry 线程模型

    我读过很多评论 其中提到 BlackBerry 线程模型偏离了 Java 标准 可能会导致问题 但无论进行多少次谷歌搜索都没有让我明白这到底意味着什么 我一直在为 BlackBerry 开发一个相当大的业务应用程序 尽管我以前没有任何 Ja
  • 通过 Gmail 发送带有自定义方案的链接

    我正在尝试发送打开我的 Android 应用程序的深层链接 String body a href Link to simulation a Intent emailIntent new Intent android content Inte
  • Android 中的默认录音

    我注意到 Android 默认录音机可以感知你的声音有多大在 UI 参数中向您展示 http www androidtapp com wp content uploads 2009 08 OI Shopping Voice Recordin
  • 实际上如何使用 GraphStream 在 swing 中绘制图形?

    我正在尝试实现绘图秋千内的教程图 http graphstream project org doc Tutorials Graph Visualisation 1 1 integrating the viewer in your gui 但
  • 如何创建 Visual Studio Code Python 工作区?

    我正在尝试在 macOS 上的 Visual Studio Code 上设置 Python 我的计算机上安装了 Python 2 7 和 3 5 解释器 当我尝试创建我的第一个 Python 文件时 import未找到模块 根据我看到的各种
  • 从桌面应用程序进行身份验证

    我正在构建一个 Windows 服务 该服务会在某些条件下将文件上传到 Box com 如何在用户不访问网页并输入用户名和密码的情况下进行身份验证 我似乎无法在文档中找到详细信息 thanks 目前 您有两种选择 您可以注册 即时模式 测试
  • 错误 React.Children.only 期望接收单个 React 元素子元素

    不完全确定我的应用程序出了什么问题 我正在使用 create react app 并且尝试将所有组件渲染到相应的根 div 中 问题是 我能够将所有组件渲染到页面上 除了最后一个组件 分数组件 我什至尝试将该组件放入 div 中 但仍然遇到
  • 如何在 OpenGL 中设置文本颜色

    我是 openGL 的新手 想设置文本颜色 尝试了 glColor3f 函数 但它改变了绘图颜色 因为我只想改变文本颜色 我该怎么办 您可以将当前颜色压入属性堆栈 更改颜色 绘制文本 然后弹出堆栈以恢复原始颜色 glPushAttrib G
  • 标记多个日期动态反应原生wix

    我正在使用反应本机日历 一旦标记参数传递给日历对象 该库就提供了在日历上标记日期的能力 我尝试传递一个对象数组 但没有成功发送多个日期 如下所示也不起作用 如何动态标记多个日期呢 var nextDay 2018 06 01 2018 06
  • 如何在 Java 中与两(2)个 SwingWorker 类共享数据

    我有两个 SwingWorker 类 FileLineCounterThread and FileDivisionThread 我将执行这两个线程 当行计数线程完成时 它将结果传递给文件分割线程 我不知道如何将结果传递给启动的线程 impo
  • 将安全性集成到启用 SSL 的 Kafka 1.0

    我无法将安全性集成到启用了 ssl 的 Kafka 1 0 这是我的 server properties 的更改 security inter broker protocol SSL listeners PLAINTEXT localhos