如何使用Pulsar TLS进行传输加密
admin
2023-01-23 12:22:43
0

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)

相关内容

热门资讯

终于明白“瓜瓜丰城棋牌.真的有... 网上科普关于“瓜瓜丰城棋牌有没有挂”话题很是火热,小编也是针对瓜瓜丰城棋牌作*弊开挂的方法以及开挂对...
终于懂了“九酷牛牛.到底是不是... 网上科普关于“九酷牛牛有没有挂”话题很是火热,小编也是针对九酷牛牛作*弊开挂的方法以及开挂对应的知识...
重磅消息“花城牌舍.真的有挂吗... 重磅消息“花城牌舍.真的有挂吗?”原来真的有挂您好,花城牌舍这个游戏其实有挂的,确实是有挂的,需要了...
最新引进“兴动茶馆.怎么开挂?... 您好:兴动茶馆这款游戏可以开挂,确实是有挂的,需要了解加客服微信【9784099】很多玩家在这款游戏...
今日重大通报“边锋老友麻将.真... 网上科普关于“边锋老友麻将有没有挂”话题很是火热,小编也是针对边锋老友麻将作*弊开挂的方法以及开挂对...
玩家攻略科普“十三十三水全民比... 玩家攻略科普“十三十三水全民比鸡.辅助器?”太坑了果然有挂您好,十三十三水全民比鸡这个游戏其实有挂的...
终于了解“中至江西麻将.真的有... 您好:中至江西麻将这款游戏可以开挂,确实是有挂的,需要了解加客服微信【9752949】很多玩家在这款...
终于明白“云圈丰城麻将.辅助开... 家人们!今天小编来为大家解答云圈丰城麻将透视挂怎么安装这个问题咨询软件客服徽9752949的挂在哪里...
终于懂了“新皇豪炸金花.有没有... 网上科普关于“新皇豪炸金花有没有挂”话题很是火热,小编也是针对新皇豪炸金花作*弊开挂的方法以及开挂对...
【第一资讯】“西南互娱.可以开... 网上科普关于“西南互娱有没有挂”话题很是火热,小编也是针对西南互娱作*弊开挂的方法以及开挂对应的知识...