千家信息网

如何使用Pulsar TLS进行传输加密

发表于:2024-11-12 作者:千家信息网编辑
千家信息网最后更新 2024年11月12日,Apache Pulsar 是一个企业级的分布式消息系统,最初由 Yahoo 开发,在 2016 年开源,并于2018年9月毕业成为 Apache 基金会的顶级项目。Pulsar 已经在 Yahoo
千家信息网最后更新 2024年11月12日如何使用Pulsar TLS进行传输加密

Apache Pulsar 是一个企业级的分布式消息系统,最初由 Yahoo 开发,在 2016 年开源,并于2018年9月毕业成为 Apache 基金会的顶级项目。Pulsar 已经在 Yahoo 的生产环境使用了三年多,主要服务于Mail、Finance、Sports、 Flickr、 the Gemini Ads platform、 Sherpa (Yahoo 的 KV 存储)。

Pulsar是一种用于服务器到服务器消息传递的多租户,高性能解决方案。

默认情况下,Apache Pulsar客户端以纯文本与Apache Pulsar服务通信。可以通过配置TLS传输加密,开启TLS要影响传输性能。以下是具体配置Pulsar TLS操作和注意事项。(Pulsar 2.4.2版本测试通过)

        一  创建根证书CA        /data目录下        $ mkdir my-ca        $ cd my-ca        $ wget --no-check-certificate https://raw.githubusercontent.com/apache/pulsar/master/site2/website/static/examples/openssl.cnf        $ export CA_HOME=$(pwd)        $ mkdir certs crl newcerts private        $ chmod 700 private/        $ touch index.txt        $ echo 1000 > serial        生成根证书的私钥,需要录入秘密,记录此密码后边会使用        $ openssl genrsa -aes256 -out private/ca.key.pem 4096        生成根证书CA        $openssl req -config openssl.cnf -key private/ca.key.pem \         -new -x509 -days 7300 -sha256 -extensions v3_ca \         -out certs/ca.cert.pem        1)先录入上边的私钥密码        2)填写信息,记录录入的信息后边用到         Country Name (2 letter code):CN  //国家名         State or Province Name:beijing    //省名         Locality Name:beijing                   //城市名         Organization Name:test               //组织名称         Organizational Unit Name:test    //组织单位名称         Common Name:  服务器域名或是ip         Email Address:邮件         $ chmod 444 certs/ca.cert.pem         二 生成服务器证书         生成服务器证书密钥         $ openssl genrsa -out broker.key.pem 2048         $ openssl pkcs8 -topk8 -inform PEM -outform PEM \           -in broker.key.pem -out broker.key-pk8.pem -nocrypt          生成服务器证书请求,根据提示填写信息国家等基本信息和CA根证书一一致。          Common Name要填写服务器的域名(单Broker可以填写IP)         $ openssl req -config openssl.cnf \           -key broker.key.pem -new -sha256 -out broker.csr.pem                  $ openssl ca -config openssl.cnf -extensions server_cert \           -days 1000 -notext -md sha256 \           -in broker.csr.pem -out broker.cert.pem        三 Broker配置        broker.conf文件中        默认brokerServicePortTls  webServicePortTls为空,不启动TLS通过填写端口号告诉服务器开启TL通道,        如果相关闭普通通道把brokerServicePort和webServicePort的端口去掉。        brokerServicePort=6650             brokerServicePortTls=6651        webServicePort=8080        webServicePortTls=8443        tlsCertificateFilePath=/data/my-ca/broker.cert.pem        tlsKeyFilePath=/data/my-ca/broker.key-pk8.pem        tlsTrustCertsFilePath=/data/my-ca/certs/ca.cert.pem        注意:官方文档中tlsProtocols tlsCiphers 如果配置了我使用客户端测试时会不通过。此两项不填写测试可以通过。        四 配置完成broker.conf启动Broker查看日志文件提示以下信息说明服务端开启了TLS服务         Started PulsarServerConnector@6a2eea2a{SSL,[ssl, http/1.1]}{0.0.0.0:8443}        五 JAVA客户端测试           1)拷出刚才生成的公有证书 /data/my-ca/certs/ca.cert.pem 放到客户端服务上           2)java 主要代码,发送或接收数据正常说明配置成功             PulsarClient client =PulsarClient.builder()                .serviceUrl(url)                .tlsTrustCertsFilePath("D:/jar/ca.cert.pem")//客户端服务器上公有证书路径                .enableTlsHostnameVerification(false)                 .allowTlsInsecureConnection(false)
服务 服务器 证书 生成 配置 信息 客户 客户端 测试 传输 可以通过 名称 国家 域名 密码 文件 消息 通道 提示 加密 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 登录页面时服务器的连接被重置 200个线程需要多大服务器 小学网络安全教学设计背景分析 软件开发的职业生涯道路 上海市征信数据库 mysql数据库考试试题及答案 人脸结构化数据库 海南网络安全协会监事会监事 一个map怎么加入数据库 勤工俭学系统mysql数据库 系统学习数据库需要什么书 校园网络安全工作会议讲话 网络安全知识问答二 数据库追踪器 黑龙江新一代网络技术推广 软件开发团队创业文章 湖南桃江网络安全周 加速到台湾省服务器ip 道路施工安全风险数据库 福州维克多网络技术有限公司 软件开发一个月能赚多少 服务器如何算价格 主板能不能加服务器内存 通信公司的软件开发 《计算机网络技术与实验》 如何更改sql服务器的安全模式 软件开发简历包装 万方等数据库打不开怎么回事 软件开发与应用讲座心得体会 制定内部网络安全管理制度
0