如何使用PulsarTLS进行传输加密-创新互联

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

创新互联建站是一家专业提供逊克企业网站建设,专注与成都网站制作、成都网站设计、H5响应式网站、小程序制作等业务。10年已为逊克众多企业、政府机构等服务。创新互联专业的建站公司优惠进行中。

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)

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


分享标题:如何使用PulsarTLS进行传输加密-创新互联
文章起源:http://azwzsj.com/article/ccgccg.html