使用Azure在线迁移向导迁移VM中PostgreSQL数据库遇证书错误求助
解决Azure DMS迁移PostgreSQL时证书验证失败的问题
针对你遇到的**"Connection failed due to a problem with authentication.The remote certificate is invalid according to the validation procedure."**错误,以下是具体的排查和解决步骤:
检查源PostgreSQL的SSL证书有效性
登录源VM,查看PostgreSQL的SSL配置文件(通常路径为/var/lib/postgresql/<版本号>/main/postgresql.conf),确认ssl参数设置为on。然后用命令验证证书状态:openssl s_client -connect <源数据库IP>:5432检查输出中的证书过期时间、域名匹配度,若为自签证书或过期证书,需重新生成有效证书(生产环境建议使用受信任CA签发的证书)。
调整Azure DMS的SSL连接模式
在迁移项目的源数据库连接设置中,尝试修改SSL模式:- 若源端使用自签证书,可临时将SSL模式设为
allow或prefer(注意allow会降低安全性,仅用于测试,生产环境优先修复证书); - 若源端证书有效,确认SSL模式设置为
require,确保连接强制使用SSL。
- 若源端使用自签证书,可临时将SSL模式设为
导入自定义CA证书到Azure DMS
如果必须保留源端自签证书,可将该证书上传至Azure DMS服务的信任存储:- 在Azure门户中打开你的DMS服务;
- 进入证书选项卡,上传源PostgreSQL的CA证书;
- 重新配置迁移连接,确保工具使用该信任证书建立连接。
确认目标Azure PostgreSQL的SSL配置
检查目标Azure Database for PostgreSQL的SSL要求(Azure门户中目标数据库的连接安全性选项),确保迁移工具的目标连接配置与目标端的SSL设置匹配(例如目标端强制SSL时,迁移连接需启用SSL)。
内容的提问来源于stack exchange,提问作者roronoa
相关产品推荐
相关产品推荐

