kafka开启SSL认证(包括内置zookeeper开启SSL)
zookeeper和kafka的SSL开启都可单独进行
生成SSL证书
使用jre自带的keytool工具生成,linux和windows下生成的证书可以通用
- 生成含有一个私钥的keystore文件,有效期10年(本文证书密码统一使用test123)
keytool -genkeypair -alias certificatekey -dname “CN=127.0.0.1, OU=127.0.0.1, O=127.0.0.1, L=SH, ST=SH, C=CN” -keyalg RSA -validity 3650 -keystore keystore.jks - 查看生成的keystore文件
keytool -list -v -keystore keystore.jks - 导出证书
keytool -export -alias certificatekey -keystore keystore.jks -rfc -file selfsignedcert.cer - 导入证书到truststore文件中
keytool -import -alias certificatekey -file selfsignedcert.cer -keystore truststore.jks - 查看生成的truststore文件
keytool -list -v -keystore truststore.jks
zookeeper开启SSL
受版本影响,需要3.5及以上版本才能正常开启,(可查看 libs/zookeeper-xxx.jar确认版本号)
- 将生成的证书文件统一放在kafka安装路径ssl文件夹(需要新建)
- 编辑config/zookeeper.properties配置文件,添加下列配置
#开启SSL
#ssl端口
secureClientPort=3183
#开启ssl使用的本机访问地址
secureClientPortAddress=127.0.0.1
serverCnxnFactory=org.apache.zookeeper.server.NettyServerCnxnFactory
ssl.keyStore.location=/home/app/kafka/ssl/keystore.jks
ssl.keyStore.password=test123
ssl.trustStore.location=/home/app/kafka/ssl/truststore.jks
ssl.trustStore.password=test123
若注释掉原本的 clientPort配置则可以屏蔽非SSL的访问地址
- Kafka配置zookeeper ssl连接
编辑 config/server.properties, 开启SSL并配置上证书和证书库路径以及相应密码,配置如下:
zookeeper.connection.timeout.ms=18000
zookeeper.connect=127.0.0.1:3183
zookeeper.clientCnxnSocket=org.apache.zookeeper.ClientCnxnSocketNetty
zookeeper.ssl.client.enable=true
zookeeper.client.secure=true
zookeeper.ssl.hostnameVerification=false
zookeeper.ssl.keystore.location=/home/app/kafka/ssl/keystore.jks
zookeeper.ssl.keystore.password=test123
zookeeper.ssl.truststore.location=/home/app/kafka/ssl/truststore.jks
zookeeper.ssl.truststore.password=test123
kafka开启SSL
修改kafka安装路径下 config/server.properties文件,将kafka连接协议改为SSL,并配置上证书和证书库路径以及相应密码,如下:
#IP地址使用实际kafka服务器IP地址(需自己更换下面的ip)
listeners =SSL://192.168.6.6:9093
#server.keystore.jks的地址
ssl.keystore.location=/home/app/kafka/ssl/keystore.jks
ssl.keystore.password=test123
ssl.truststore.location=/home/app/kafka/ssl/truststore.jks
ssl.truststore.password=test123
ssl.client.auth=required
ssl.enabled.protocols=TLSv1.2
ssl.keystore.type=JKS
ssl.truststore.type=JKS
#关闭主机名
ssl.endpoint.identification.algorithm=
#设置内部访问也用SSL,默认值为security.inter.broker.protocol=PLAINTEXT
security.inter.broker.protocol=SSL
测试
启动zookeeper服务:
bin/zookeeper-server-start.sh config/zookeeper.properties
启动kafka服务:
bin/kafka-server-start.sh config/server.properties
创建客户端连接配置文件 client-ssl.properties
security.protocol=SSL
ssl.enabled.protocols=TLSv1.2
ssl.truststore.location=/home/app/kafka/ssl/truststore.jks
ssl.truststore.password=test123
ssl.keystore.location=/home/app/kafka/ssl/keystore.jks
ssl.keystore.password=test123
ssl.key.password=test123
ssl.endpoint.identification.algorithm=
创建带证书校验的生产者
bin/kafka-console-producer.sh --broker-list 192.168.6.6:9093 --topic test --producer.config client-ssl.properties
另起窗口创建带证书校验的消费者
bin/kafka-console-consumer.sh --broker-list 192.168.6.6:9093 --topic test --consumer.config client-ssl.properties
尝试在生产者窗口中输入任意字符回车,若消费者窗口能正常接收则表示kafka运行正常
相关文章:
kafka开启SSL认证(包括内置zookeeper开启SSL)
zookeeper和kafka的SSL开启都可单独进行 生成SSL证书 使用jre自带的keytool工具生成,linux和windows下生成的证书可以通用 生成含有一个私钥的keystore文件,有效期10年(本文证书密码统一使用test123) keytool -genkeypair -ali…...

Powerpoint不小心被覆盖?PPT误删文件如何恢复?
PowerPoint不小心删除了,这可能是众多学生和工作人员最头痛的事情了。PPT被覆盖或误删可能意味着几个小时的努力付之东流。那么PPT覆盖的文档要如何救回来呢?小编将会在本篇文章中为大家分享几个解决方案,使PPT文档覆盖还原操作成为可能&…...
美团产品经理面试题大解密:流量VS口碑,如何找到最佳平衡点?
大家好,我是你们的小米。最近我参加了一场美团的产品经理面试,其中一个问题让我颇为犯愁:“产品应该追求高流量还是高口碑?”这个问题困扰了很多产品经理,因为两者似乎都对产品的成功有着重要影响。今天我就来和大家一…...

docker部署tomcat
1.下载tomcat镜像 尽量去下载最新版本 直接输入docker pull tomcat 后面不跟版本号(要是跟版本号,你还要去官网去查看是否有此版本,太麻烦了) 2.查看镜像 3.通过镜像去run启动容器 -d 就是后台运行 --name 给容器取个新名字 -p 3355:8080…...

大语言模型(LLM)综述(七):大语言模型设计应用与未来方向
A Survey of Large Language Models 前言8 A PRACTICAL GUIDEBOOK OF PROMPT DESIGN8.1 提示创建8.2 结果与分析 9 APPLICATIONS10 CONCLUSION AND FUTURE DIRECTIONS 前言 随着人工智能和机器学习领域的迅速发展,语言模型已经从简单的词袋模型(Bag-of-…...

牛客网:链表分割
一、题目 函数原型: ListNode* partition(ListNode* pHead, int x) 二、思路 根据题意,可以设置两个新的链表,将原链表中所有小于x的结点链接到链表1中,大于x的结点链接到链表2中,最后再将两个链表合并即可。 此题有两…...

pytorch(小土堆)深度学习
第五节课讲项目的创建和对比 第六节:Dataset,Dataloader Dataset提供一种方式区获取数据及其label(如何获取每一个数据及其label,告诉我们总共有多少的数据) Dataloader为后面的网络提供不同的数据形式 第七节:Dataset类代码实战 显示图片 f…...
统计 boy girl 复制出来多少次。 浴谷 P1321题
统计 boy girl 复制出来多少次。 #define _CRT_SECURE_NO_WARNINGS #include <iostream> #include <iomanip>void fun(char* s) {int boy 0, girl 0;int t 0;while (*s) {if (t 0 && *s!.) {t 1;if (*s b || *s o || *s y)boy 1;elsegirl 1;}…...
odoo16前端框架分析1 boot.js
odoo16前端框架分析1 boot.js odoo16的前端基于owl组件系统,这是一个类似vue,react的现代js框架。 前端框架都放在了web模块中,具体的位置是addons/web/static/src 不过今天要说的不是owl,而是跟前端启动有关的几个重要文件 1、…...

酷开科技持续推动智能投影行业创新发展
近年来,投影仪逐渐成为年轻人追捧的家居时尚单品。据国际数据公司(IDC)报告显示,2022年中国投影机市场总出货量505万台,超80%为家用投影仪。相比于电视,投影仪外观小巧、屏幕大小可调节,无论是卧…...

TIA博途中已经被调用的变量,为什么交叉引用时却没有显示调用信息?
TIA博途中已经被调用的变量,为什么交叉引用时却没有显示调用信息? 故障现象: 如下图所示,在HMI的画面中,已经连接了对应的变量, 如下图所示,这里为HMI变量表, 如下图所示ÿ…...

OSPF下的MGRE实验
一、实验要求 1、R1-R3-R4构建全连的MGRE环境 2、R1-R5-R6建立hub-spoke的MGRE环境,其中R1为中心 3、R1-R3...R6均存在环回网段模拟用户私网,使用OSPF使全网可达 4、其中R2为ISP路由器,仅配置IP地址 二、实验拓扑图 三、实验配置 1、给各路…...

论文速览 | TRS 2023: 使用合成微多普勒频谱进行城市鸟类和无人机分类
注1:本文系“最新论文速览”系列之一,致力于简洁清晰地介绍、解读最新的顶会/顶刊论文 论文速览 | TRS 2023: Urban Bird-Drone Classification with Synthetic Micro-Doppler Spectrograms 原始论文:D. White, M. Jahangir, C. J. Baker and M. Antoniou, “Urban Bird-Drone…...

《网络协议》02. 物理层 · 数据链路层 · 网络层
title: 《网络协议》02. 物理层 数据链路层 网络层 date: 2022-08-31 22:26:48 updated: 2023-11-08 06:58:52 categories: 学习记录:网络协议 excerpt: 物理层(数据通信模型,信道)、数据链路层(封装成帧,…...
【chatgpt问答记录】双端队列、栈和函数调用栈
collections.deque和queue.Queue的区别 Q:collections.deque()跟queue.Queue()有什么区别? collections.deque() 和 queue.Queue 是两种不同的数据结构,它们有一些区别: 实现方式: collections.deque() 是 Python 标…...

另辟蹊径者 PoseiSwap:背靠潜力叙事,构建 DeFi 理想国
前不久,灰度在与 SEC 就关于 ETF 受理的诉讼案件中,以灰度胜诉告终。灰度的胜利,也被加密行业看做是加密 ETF 在北美地区阶段性的胜利, 该事件也带动了加密市场的新一轮复苏。 此前,Nason Smart Money 曾对加密市场在 …...

如何查看笔记本电脑电池损耗
1.下载图吧工具箱 在官网下,不要下错了,不然会有很多垃圾捆绑软件,我放一个百度云链接,安装包上传上去了 链接:https://pan.baidu.com/s/18dguF5OGktbPkW7EszZZqA 提取码:1024 2.安装打开后点击主办工具-…...

一键批量视频剪辑、合并,省时省力,制作专业视频
在当今数字化的时代,视频制作的需求日益增长。无论是个人用户还是专业人士,都需要能够快速、高效地处理视频,以适应不同的需求。但是,视频剪辑和合并往往是一个耗时且需要专业技能的过程。有没有一种方法可以简化这个过程…...

使用R语言构建HTTP爬虫:IP管理与策略
目录 摘要 一、HTTP爬虫与IP管理概述 二、使用R语言进行IP管理 三、爬虫的伦理与合规性 四、注意事项 结论 摘要 本文深入探讨了使用R语言构建HTTP爬虫时如何有效管理IP地址。由于网络爬虫高频、大量的请求可能导致IP被封禁,因此合理的IP管理策略显得尤为重要…...

Stable Diffusion源码调试(二)
Stable Diffusion源码调试(二) 个人模型主页:https://liblib.ai/userpage/369b11c9952245e28ea8d107ed9c2746/model Stable Diffusion版本:https://github.com/AUTOMATIC1111/stable-diffusion-webui/releases/tag/v1.4.1 分析S…...

网络六边形受到攻击
大家读完觉得有帮助记得关注和点赞!!! 抽象 现代智能交通系统 (ITS) 的一个关键要求是能够以安全、可靠和匿名的方式从互联车辆和移动设备收集地理参考数据。Nexagon 协议建立在 IETF 定位器/ID 分离协议 (…...
在软件开发中正确使用MySQL日期时间类型的深度解析
在日常软件开发场景中,时间信息的存储是底层且核心的需求。从金融交易的精确记账时间、用户操作的行为日志,到供应链系统的物流节点时间戳,时间数据的准确性直接决定业务逻辑的可靠性。MySQL作为主流关系型数据库,其日期时间类型的…...
ES6从入门到精通:前言
ES6简介 ES6(ECMAScript 2015)是JavaScript语言的重大更新,引入了许多新特性,包括语法糖、新数据类型、模块化支持等,显著提升了开发效率和代码可维护性。 核心知识点概览 变量声明 let 和 const 取代 var…...

从WWDC看苹果产品发展的规律
WWDC 是苹果公司一年一度面向全球开发者的盛会,其主题演讲展现了苹果在产品设计、技术路线、用户体验和生态系统构建上的核心理念与演进脉络。我们借助 ChatGPT Deep Research 工具,对过去十年 WWDC 主题演讲内容进行了系统化分析,形成了这份…...

遍历 Map 类型集合的方法汇总
1 方法一 先用方法 keySet() 获取集合中的所有键。再通过 gey(key) 方法用对应键获取值 import java.util.HashMap; import java.util.Set;public class Test {public static void main(String[] args) {HashMap hashMap new HashMap();hashMap.put("语文",99);has…...

Docker 运行 Kafka 带 SASL 认证教程
Docker 运行 Kafka 带 SASL 认证教程 Docker 运行 Kafka 带 SASL 认证教程一、说明二、环境准备三、编写 Docker Compose 和 jaas文件docker-compose.yml代码说明:server_jaas.conf 四、启动服务五、验证服务六、连接kafka服务七、总结 Docker 运行 Kafka 带 SASL 认…...

SCAU期末笔记 - 数据分析与数据挖掘题库解析
这门怎么题库答案不全啊日 来简单学一下子来 一、选择题(可多选) 将原始数据进行集成、变换、维度规约、数值规约是在以下哪个步骤的任务?(C) A. 频繁模式挖掘 B.分类和预测 C.数据预处理 D.数据流挖掘 A. 频繁模式挖掘:专注于发现数据中…...

Linux相关概念和易错知识点(42)(TCP的连接管理、可靠性、面临复杂网络的处理)
目录 1.TCP的连接管理机制(1)三次握手①握手过程②对握手过程的理解 (2)四次挥手(3)握手和挥手的触发(4)状态切换①挥手过程中状态的切换②握手过程中状态的切换 2.TCP的可靠性&…...

蓝牙 BLE 扫描面试题大全(2):进阶面试题与实战演练
前文覆盖了 BLE 扫描的基础概念与经典问题蓝牙 BLE 扫描面试题大全(1):从基础到实战的深度解析-CSDN博客,但实际面试中,企业更关注候选人对复杂场景的应对能力(如多设备并发扫描、低功耗与高发现率的平衡)和前沿技术的…...

江苏艾立泰跨国资源接力:废料变黄金的绿色供应链革命
在华东塑料包装行业面临限塑令深度调整的背景下,江苏艾立泰以一场跨国资源接力的创新实践,重新定义了绿色供应链的边界。 跨国回收网络:废料变黄金的全球棋局 艾立泰在欧洲、东南亚建立再生塑料回收点,将海外废弃包装箱通过标准…...