Namesrv:5.1.0
Broker:5.1.0
Dashboard:1.0.1-SNAPSHOT
以下全部操作在的目录在:/etc/rocketmq, 并且Namesrv、Broker、Dashboard在同一个机器上
实际操作时, dashboard或者客户端可以是其他的机器
openssl x509 -req -days 365 -in server.csr -CA ca.pem -CAkey ca_rsa_private.pem -CAcreateserial -out server.pem
openssl pkcs8 -topk8 -v1 PBE-SHA1-RC4-128 -in server_rsa.key -out server.key
tls.test.mode.enable=false
tls.server.need.client.auth=none
tls.server.keyPath=/etc/rocketmq/server.key
tls.server.keyPassword=123456
tls.server.certPath=/etc/rocketmq/server.pem
tls.client.authServer=false
tls.client.trustCertPath=/etc/rocketmq/ca.pem
- tls-namesrv.properties
```properties
tls.test.mode.enable=false
tls.server.need.client.auth=none
tls.server.keyPath=/etc/rocketmq/server.key
tls.server.keyPassword=123456
tls.server.certPath=/etc/rocketmq/server.pem
- tls-client.properties
```properties
tls.client.trustCertPath=/etc/rocketmq/ca.pem
至此,我们得到了全部的tls配置文件:

## 3. 修改启动脚本
### 3.1 修改namesrv启动脚本
```bash
vim bin/runserver.sh

### 3.2 修改broker启动配置
1. 修改broker启动脚本, 设置jvm支持tls
```bash
vim bin/runbroker.sh

1. 添加broker.conf
```properties
brokerClusterName = DefaultCluster
brokerName = broker-a
brokerId = 0
deleteWhen = 04
fileReservedTime = 48
brokerRole = ASYNC_MASTER
flushDiskType = ASYNC_FLUSH
namesrvAddr = 127.0.0.1:9876
### 3.3 修改dashboard配置
- 修改namesrv地址

- 打开tls开关
```bash
vim rocketmq-dashboard-1.0.1-SNAPSHOT.jar

`说明:如果是客户端生产消费,设置如下`


## 4. 启动Namesrv,Broker,Dashboard
1. 启动namesrv
```bash
nohup sh bin/mqnamesrv &
1. 启动broker
```bash
nohup sh bin/mqbroker -c conf/broker.conf &
1. 启动dashboard
```bash
java -Dtls.client.authServer=true -Dtls.enable=true -Dtls.test.mode.enable=false -Dtls.config.file=/etc/rocketmq/tls-client.properties -jar rocketmq-dashboard-1.0.1-SNAPSHOT.jar
问题
:抓包结果中, 为什么还有TCP协议呢?大家可以留言说说看!
PS:RocketMQ的tls配置4.X版本和5.X版本差不多, 基本都可以用。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。