用户可以使用自定义域名连接 TDMQ MQTT 集群。 这个方式有一下几个优势:
当 MQTT 接入点提供给用户的客户时,保持用户品牌统一;
迁移后端集群时,通过重新解析 DNS 即可完成,保持接入点不变;
可以复用企业已有的 PKI 设施。
配置实例使用自定义域名包含以下步骤:
1. 上传服务端证书到 SSL证书服务;
2. 配置服务端证书对、信任证书到 MQTT 实例;
3. 创建 DNS 记录;
上传证书对、信任证书到 SSL 证书服务
为了确保证书正常轮转更新、过期提醒,不影响业务连续性,MQTT实例仅支持配置SSL证书服务托管的证书。
证书要求
1. 服务端证书(End Entity Certificate)必须包含 X.509 v3 Extended Key Usage 扩展,扩展必须包含 serverAuth(TLS Web Server Authentication), 参考RFC 5280; 即证书应包含必要的 Subject Alternative Name(SAN) 扩展和 Common Name(CN)。如果您的证书系 CA 机构签发,一般均包含该扩展。
注意:
如果证书同时包含 CN 和 SAN, TLS Server Name Indication(SNI) 选择证书时,优先在 SAN 扩展包含域名中选择;如果 SAN 不存在,兼容使用 CN 进行选择。
主流浏览器已忽略 CN 匹配,如 Chrome 58后忽略 CN, 使用 Web Secure Socket 作为 MQTT 传输层时,务必确保 SAN 扩展和 Server Auth 值。
2. 证书链最多包含5个证书;
3. 证书链文件不超过16KiB。
证书上传、托管、购买
配置证书、信任证书到MQTT实例

根据是否验证客户端证书,选择合适的认证模式:
单向认证:不校验客户端证书
双向认证:校验客户端证书

假设选择的服务端证书 Subject Alternative Name 包含以下域名:
mqtt-abc.compay.com
。创建 DNS 记录
参考 云解析-CNAME 记录,创建一个 CNAME 记录,将
mqtt-abc.compay.com
解析到实例的接入点提供的域名: mqtt-xxx-sh-public.mqtt.tencenttdmq.com
。
后续通过
mqtt-abc.company.com
访问。