Cloud Run连接Cloud SQL失败求助:TLS握手证书CN不匹配
解决Cloud Run连接Cloud SQL时的TLS证书CN不匹配问题
核对Cloud SQL实例连接名称
确认连接字符串里/cloudsql/后的<project-id:region:instance-id>是控制台里显示的完整实例连接名称,检查拼写、大小写、区域代码有没有错——这个名称必须和Cloud SQL实例详情页里的完全一致。排查客户端证书配置
这个错误是TLS握手时证书通用名称(CN)不匹配导致的。如果你的应用代码里手动配置了自定义CA证书或客户端证书,直接删掉这些配置,Cloud Run通过unix socket连接Cloud SQL时,代理会自动处理证书验证,不需要额外设置。另外,别用sslmode=verify-full,推荐用sslmode=require,前者会强制验证CN,而unix socket场景下这个验证容易出问题。检查Cloud Run的实例关联配置
去Cloud Run服务的「连接」标签页,确认已经添加了对应的Cloud SQL实例,而且关联的实例ID和你连接字符串里的完全一致——没关联的话,unix socket路径根本访问不到实例。调整连接字符串的SSL参数
可以给连接字符串加上明确的SSL模式参数,示例:postgresql://postgres:<password>@localhost/postgres?host=/cloudsql/<project-id:region:instance-id>&sslmode=require
内容的提问来源于stack exchange,提问作者zlach
相关产品推荐
相关产品推荐

