成都創(chuàng)新互聯(lián)長期為1000+客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺(tái),與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為侯馬企業(yè)提供專業(yè)的成都做網(wǎng)站、成都網(wǎng)站建設(shè),侯馬網(wǎng)站改版等技術(shù)服務(wù)。擁有10年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。> 默認(rèn)情況下,Apache Pulsar客戶端以純文本與Apache Pulsar服務(wù)通信。可以通過配置TLS傳輸加密,開啟TLS要影響傳輸性能。
以下是具體配置Pulsar TLS操作和注意事項(xiàng)。(Pulsar 2.4.2版本測試通過)
一 創(chuàng)建根證書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
生成根證書的私鑰,需要錄入秘密,記錄此密碼后邊會(huì)使用
$ 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: 服務(wù)器域名或是ip
Email Address:郵件
$ chmod 444 certs/ca.cert.pem
二 生成服務(wù)器證書
生成服務(wù)器證書密鑰
$ 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ù)器證書請求,根據(jù)提示填寫信息國家等基本信息和CA根證書一一致。
Common Name要填寫服務(wù)器的域名(單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文件中
默認(rèn)brokerServicePortTls webServicePortTls為空,不啟動(dòng)TLS通過填寫端口號(hào)告訴服務(wù)器開啟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 如果配置了我使用客戶端測試時(shí)會(huì)不通過。此兩項(xiàng)不填寫測試可以通過。
四 配置完成broker.conf啟動(dòng)Broker查看日志文件提示以下信息說明服務(wù)端開啟了TLS服務(wù)
Started PulsarServerConnector@6a2eea2a{SSL,[ssl, http/1.1]}{0.0.0.0:8443}
五 JAVA客戶端測試
1)拷出剛才生成的公有證書 /data/my-ca/certs/ca.cert.pem 放到客戶端服務(wù)上
2)java 主要代碼,發(fā)送或接收數(shù)據(jù)正常說明配置成功
PulsarClient client =PulsarClient.builder()
.serviceUrl(url)
.tlsTrustCertsFilePath("D:/jar/ca.cert.pem")//客戶端服務(wù)器上公有證書路徑
.enableTlsHostnameVerification(false)
.allowTlsInsecureConnection(false)
標(biāo)題名稱:PulsarTLS傳輸加密-創(chuàng)新互聯(lián)
分享URL:
http://weahome.cn/article/ceccpd.html