Azure部署的MariaDB:替换DNS为IP后无法建立SSL连接的原因
SSL连接失败(IP替换域名)的原因分析
核心原因:SSL证书的主机名验证机制
当你使用--ssl-verify-server-cert参数时,MariaDB客户端会严格验证服务器SSL证书中的通用名称(CN)或主题备用名称(SAN),必须与你通过-h指定的主机标识完全一致。
具体细节:
- Azure上的MariaDB服务器SSL证书,其绑定的主机名称是你的服务器域名
somename.mariadb.database.azure.com,证书中并未包含对应的IP地址10.0.4.68。 - 用域名连接时:
-h指定的域名与证书中的CN/SAN完全匹配,验证逻辑通过,连接正常。 - 用IP连接时:
-h指定的IP地址不在证书的合法主机名列表中,客户端判定证书与目标主机不匹配,因此抛出SSL connection error: The certificate is NOT trusted. The name in the certificate does not match the expected.错误。
可选的临时解决思路(仅作参考):
- 若必须用IP连接,可移除
--ssl-verify-server-cert参数(但会关闭证书主机名验证,降低安全性)。 - 在跳板机的
/etc/hosts文件中添加映射:10.0.4.68 somename.mariadb.database.azure.com,之后仍用域名连接,实际流量会走该IP,同时保持证书验证有效。
内容的提问来源于stack exchange,提问作者Mohamed
相关产品推荐
相关产品推荐

