操作场景
在数字化时代,消息中间件承载着企业核心业务流程的关键数据(如交易指令、用户隐私信息等),因此消息传输内容加密能力变得尤为重要。腾讯云消息队列 RocketMQ 版在开源的基础上支持了服务端配置 TLS 证书功能,您在控制台可以通过简单操作给 RocketMQ 集群绑定您在腾讯云 SSL 证书控制台维护的证书。
在对加密通信要求较高的场景下,如跨公网通信,金融/政务合规场景等情况下,可以参考以下的操作,按需打开TLS 加密开关并配置服务端TLS证书。
说明:
前提条件
已创建 RocketMQ 集群,且状态为“运行中”。
已准备好可用的 TLS 证书,证书可以是您的自有证书,也可以在腾讯云 SSL 证书控制台进行购买。请确保在使用 TLS 加密通信时,绑定的 TLS 证书在可用的状态,如未到期,证书文件格式正确等,在 SSL 证书控制台的更多操作可以参考SSL 证书使用指南。
操作步骤
1. 登录 RocketMQ 控制台。
2. 在集群详情页的 “接入信息” 部分,可以看到 TLS 传输配置 项,在未配置时,开关显示为关闭状态,如下图所示:

3. 单击打开后,开启 TLS 证书配置,首次使用该功能时,需要授权 RocketMQ 查询当前账号在腾讯云 SSL 证书控制台上传或者购买的证书,请勾选授权。
4. 授权完成后,选择目标服务端证书,选择后证书将部署在 RocketMQ 服务端,后续将使用该证书进行传输加密。您也可以在腾讯云 SSL 证书控制台添加新的证书,更多SSL证书管理功能,请参考SSL 证书使用指南。

5. 单击提交后,在集群详情页的接入信息部分可以看到相关的证书信息,请定期关注证书的有效时间。在证书即将到期前,页面也会提示证书的过期时间。
6. 再次单击解绑,可以删除当前集群的 TLS 证书配置。

客户端启用 TLS
配置好集群证书后,客户端启用 TLS 的方式如下:
JVM 启动参数添加
-Dtls.enable=true \\-Dtls.test.mode.enable=false \\-Dtls.client.authServer=true \\-Dtls.client.trustCertPath={CA证书路径}
// 暂不支持认证Java ClientConfiguration clientConfiguration = ClientConfiguration.newBuilder().setEndpoints(endpoints).setCredentialProvider(credentialsProvider).enableSsl(true) // 启用 TLS.build();