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

Azure App Service连Azure PostgreSQL:Prefer与VerifyFull SSL模式差异及报错咨询

Azure App Service 托管.NET Web API连接Azure PostgreSQL的SSL模式差异

我们将托管在Azure App Service上的.NET Web API应用通过托管身份连接至Azure PostgreSQL,现咨询使用以下两种SSL模式的连接字符串时,从Azure App Service到Azure PostgreSQL实例的连接有何差异?

两种模式的连接字符串

Prefer模式

Server=xxxxx.postgres.database.azure.com;User id=xxxx;Database=xxx;port=5432;Ssl Mode=Prefer;Password="

VerifyFull模式

Server=xxxxx.postgres.database.azure.com;User id=xxxx;Database=xxx;port=5432;Ssl Mode=VerifyFull;Password="

核心差异

  • Prefer模式:不强制加密连接,仅当服务器支持加密时才启用加密;如果服务器拒绝加密请求,会回退到未加密连接尝试建立会话。
  • VerifyFull模式:强制要求加密连接,同时会验证服务器的身份——确认连接的服务器是可信的目标实例(通过校验SSL证书的有效性、域名匹配度等),只有验证通过才能成功建立连接。

关于你遇到的错误解析

此前使用Prefer模式时出现错误:

System Exception: 28000: no pg_hba.conf entry for host "xxxx, user "xxxx", database "xxxx", no encryption

切换为VerifyFull模式后错误消失,原因是你的Azure PostgreSQL实例的pg_hba.conf配置中,仅允许加密连接(未配置接受未加密连接的规则)。当用Prefer模式连接时,客户端优先尝试未加密连接,触发了实例的连接限制规则,导致报错;而VerifyFull模式强制使用加密连接,完全符合实例的配置要求,因此能正常建立连接。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 04:10:13