Windows下Cloud SQL Proxy连接Cloud SQL PostgreSQL实例遇TLS协议版本错误303
针对你遇到的tls: server selected unsupported protocol version 303错误(该版本对应TLS 1.0),结合只有Cloud SQL Proxy连接失败、其他方式正常的情况,提供以下解决思路:
立即更新Cloud SQL Proxy到最新版本
旧版本的代理可能默认依赖TLS 1.0/1.1这类已被Google Cloud SQL逐步禁用的老旧协议。虽然代理启动时会提示“准备好接收新连接”,但实际无法与实例建立有效TLS连接,导致客户端连接时报错。你可以直接下载最新的Windows版代理二进制文件替换现有版本,或者通过gcloud components update命令更新Cloud SDK中的代理组件。强制代理使用高版本TLS协议
如果更新后问题仍存在,启动代理前先配置环境变量强制启用TLS 1.3:set GODEBUG=tls13=1再执行启动代理的命令。部分新版本代理支持
--tls-min-version参数,也可以直接指定最低TLS版本:cloud-sql-proxy --tls-min-version=TLS1.2 your-project-id:region:instance-name检查客户端的SSL配置
比如DBeaver这类工具,若你在连接本地代理(127.0.0.1:5432)时开启了“强制SSL连接”选项,可能会触发不必要的TLS协商错误。Cloud SQL Proxy的本地TCP连接默认无需加密,尝试关闭客户端的强制SSL选项后再连接。查看代理详细日志定位问题
启动代理时添加-verbose参数,输出详细连接日志:cloud-sql-proxy -verbose your-project-id:region:instance-name查看日志中是否有TLS握手失败的具体信息,确认是代理与实例之间的协议问题,还是客户端与代理之间的配置冲突。
内容的提问来源于stack exchange,提问作者usha rani

