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

Azure Function无法通过主机名连接私有Azure Database for PostgreSQL服务器

解决方案

问题核心为DNS解析异常:PostgreSQL主机名被解析到服务公网IP而非私有端点内网IP,触发公网访问拦截规则。你可按以下步骤修复:

1. 配置Vnet私有DNS规则

  • 检查是否已创建私有DNS区域 privatelink.postgres.database.azure.com,若未创建则在同订阅下新建该区域
  • 将上述私有DNS区域与Azure Function集成的目标Vnet完成关联
  • 进入私有DNS区域的记录列表,确认已自动生成PostgreSQL实例对应的A记录:记录前缀为你的PostgreSQL服务器名称,记录值为该实例私有端点的内网IP,若不存在则手动添加
  • 若你的Azure Function为消费/弹性Premium计划,需在Vnet集成配置页开启 所有流量路由到Vnet 选项,确保DNS请求通过Vnet链路解析

2. 验证Azure Function侧解析有效性

进入Azure Function的Kudu控制台,执行命令:
nslookup <你的PostgreSQL实例名>.postgres.database.azure.com
确认返回的IP为私有端点内网IP,而非公网IP。

3. 修复点到站点VPN的DNS配置

  • 进入目标Vnet的「DNS服务器」配置页,选择「自定义」,填写Azure内置递归解析器地址 168.63.129.16 后保存
  • 进入虚拟网络网关的点到站点配置页,重新生成VPN客户端配置包,下载后在本地重新安装配置
  • 连接VPN后在本地终端执行上述nslookup命令,确认返回私有端点内网IP

4. 连通性验证

将PostgreSQL的「拒绝公共网络访问」改回Yes,分别在Azure Function、本地VPN环境下使用主机名连接数据库,确认连接正常无报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 15:54:01