You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure PostgreSQL连接超时:Spring Boot与Dbeaver无法连接

解决Azure PostgreSQL连接超时问题

从错误栈底层的java.net.SocketTimeoutException: connect timed out可以明确,这是网络层面的连接失败,和账号密码、JDBC语法错误无关(如果是认证问题会有明确的PSQLException提示)。下面是针对性的排查和解决步骤:

1. 检查Azure PostgreSQL防火墙规则

  • 登录Azure门户找到你的PostgreSQL服务器,进入「连接安全」页面
  • 确认已将当前客户端/应用服务器的公网IP添加到防火墙允许列表里(可以临时打开「允许Azure服务和资源访问此服务器」做测试,但生产环境别一直开着)
  • 核对IP范围是否正确,别写错子网或单个IP地址

2. 验证服务器地址和端口

  • 连接时必须用Azure提供的完全限定域名,格式是 <服务器名>.postgres.database.azure.com,别用私有IP或者内部地址
  • 默认端口是5432,如果修改过服务器端口,连接配置里的端口必须对应

3. 测试网络连通性

  • 在客户端或应用服务器上执行ping <服务器名>.postgres.database.azure.com,确认域名能解析到正确的Azure公网IP
  • 用telnet <服务器名>.postgres.database.azure.com 5432或nc -zv <服务器名>.postgres.database.azure.com 5432测试端口连通性,如果超时或被拒绝,说明网络链路有问题

4. 核对Spring Boot连接配置

确保application.properties/application.yml里的配置符合Azure要求:

spring.datasource.url=jdbc:postgresql://<服务器名>.postgres.database.azure.com:5432/<数据库名>?sslmode=require
spring.datasource.username=<用户名>@<服务器名>
spring.datasource.password=<你的密码>
spring.jpa.hibernate.ddl-auto=update

重点:Azure PostgreSQL的用户名必须是用户名@服务器名的格式;必须加sslmode=require,否则会被Azure拒绝连接

5. 排查内网代理/防火墙限制

  • 如果你的机器在企业内网,检查公司防火墙或代理是否阻断了5432端口的出站请求
  • 换个网络(比如手机热点)测试连接,排除内网限制的可能

内容的提问来源于stack exchange,提问作者PAA

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 04:54:52