Apache Pulsar 是一個(gè)企業(yè)級(jí)的分布式消息系統(tǒng),最初由 Yahoo 開(kāi)發(fā),在 2016 年開(kāi)源,并于2018年9月畢業(yè)成為 Apache 基金會(huì)的頂級(jí)項(xiàng)目。Pulsar 已經(jīng)在 Yahoo 的生產(chǎn)環(huán)境使用了三年多,主要服務(wù)于Mail、Finance、Sports、 Flickr、 the Gemini Ads platform、 Sherpa (Yahoo 的 KV 存儲(chǔ))。
Pulsar是一種用于服務(wù)器到服務(wù)器消息傳遞的多租戶(hù),高性能解決方案。
默認(rèn)情況下,Apache Pulsar客戶(hù)端以純文本與Apache Pulsar服務(wù)通信。可以通過(guò)配置TLS傳輸加密,開(kāi)啟TLS要影響傳輸性能。以下是具體配置Pulsar TLS操作和注意事項(xiàng)。(Pulsar 2.4.2版本測(cè)試通過(guò))
一 創(chuàng)建根證書(shū)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
生成根證書(shū)的私鑰,需要錄入秘密,記錄此密碼后邊會(huì)使用
$ openssl genrsa -aes256 -out private/ca.key.pem 4096
生成根證書(shū)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)填寫(xiě)信息,記錄錄入的信息后邊用到
Country Name (2 letter code):CN //國(guó)家名
State or Province Name:beijing //省名
Locality Name:beijing //城市名
Organization Name:test //組織名稱(chēng)
Organizational Unit Name:test //組織單位名稱(chēng)
Common Name: 服務(wù)器域名或是ip
Email Address:郵件
$ chmod 444 certs/ca.cert.pem
二 生成服務(wù)器證書(shū)
生成服務(wù)器證書(shū)密鑰
$ openssl genrsa -out broker.key.pem 2048
$ openssl pkcs8 -topk8 -inform PEM -outform PEM \
-in broker.key.pem -out broker.key-pk8.pem -nocrypt
生成服務(wù)器證書(shū)請(qǐng)求,根據(jù)提示填寫(xiě)信息國(guó)家等基本信息和CA根證書(shū)一一致。
Common Name要填寫(xiě)服務(wù)器的域名(單Broker可以填寫(xiě)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文件中
默認(rèn)brokerServicePortTls webServicePortTls為空,不啟動(dòng)TLS通過(guò)填寫(xiě)端口號(hào)告訴服務(wù)器開(kāi)啟TL通道,
如果相關(guān)閉普通通道把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 如果配置了我使用客戶(hù)端測(cè)試時(shí)會(huì)不通過(guò)。此兩項(xiàng)不填寫(xiě)測(cè)試可以通過(guò)。
四 配置完成broker.conf啟動(dòng)Broker查看日志文件提示以下信息說(shuō)明服務(wù)端開(kāi)啟了TLS服務(wù)
Started PulsarServerConnector@6a2eea2a{SSL,[ssl, http/1.1]}{0.0.0.0:8443}
五 JAVA客戶(hù)端測(cè)試
1)拷出剛才生成的公有證書(shū) /data/my-ca/certs/ca.cert.pem 放到客戶(hù)端服務(wù)上
2)java 主要代碼,發(fā)送或接收數(shù)據(jù)正常說(shuō)明配置成功
PulsarClient client =PulsarClient.builder()
.serviceUrl(url)
.tlsTrustCertsFilePath("D:/jar/ca.cert.pem")//客戶(hù)端服務(wù)器上公有證書(shū)路徑
.enableTlsHostnameVerification(false)
.allowTlsInsecureConnection(false)
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性?xún)r(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿(mǎn)足用戶(hù)豐富、多元化的應(yīng)用場(chǎng)景需求。
文章題目:如何使用PulsarTLS進(jìn)行傳輸加密-創(chuàng)新互聯(lián)
分享網(wǎng)址:http://m.kartarina.com/article26/ccgccg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)、網(wǎng)站營(yíng)銷(xiāo)、虛擬主機(jī)、標(biāo)簽優(yōu)化、網(wǎng)站維護(hù)、網(wǎng)頁(yè)設(shè)計(jì)公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)