Azure Web App通过Private Endpoint连接Cosmos DB遇SSL证书名称不匹配错误
Azure Web App通过Private Endpoint连接Cosmos DB时SSL证书验证失败
错误信息
'无法建立SSL连接,详见内部异常。'
根据验证流程,远程证书无效:RemoteCertificateNameMismatch
相关配置截图
Cosmos DB配置



Private Endpoint配置

Private DNS记录


Web App配置

堆栈跟踪信息
FBAuthDemoAPI.Controllers.FamilyController: at System.Net.Http.ConnectHelper.EstablishSslConnectionAsync(SslClientAuthenticationOptions sslOptions, HttpRequestMessage request, Boolean async, Stream stream, CancellationToken cancellationToken)at System.Net.Http.HttpConnectionPool.ConnectAsync(
问题原因及修复方案
核心原因
RemoteCertificateNameMismatch 是因为Web App访问的Cosmos DB端点域名与Cosmos DB SSL证书的SAN字段不匹配。使用Private Endpoint时,必须保证DNS解析返回的域名与证书上的官方FQDN一致。
具体修复步骤
- 检查Private DNS区域配置:确认Cosmos DB对应的Private DNS区域为
privatelink.documents.azure.com(全球环境),且已关联Web App所在VNet。验证DNS记录的名称与Web App连接字符串中的Cosmos DB账户FQDN完全一致。 - 修正连接字符串:确保Web App使用的Cosmos DB连接字符串是官方账户FQDN(如
xxx.documents.azure.com),禁止直接使用Private Endpoint的IP地址——Cosmos DB的SSL证书仅对官方FQDN有效。 - 验证Private Endpoint DNS集成:确认创建Private Endpoint时已勾选“集成到Private DNS区域”,若未自动集成,手动添加对应DNS记录。
- 测试DNS解析:在Web App的Kudu控制台执行
nslookup <你的Cosmos账户FQDN>,确认返回Private Endpoint的私有IP,且解析域名与连接字符串一致。 - 检查Private Endpoint状态:确认Cosmos DB的Private Endpoint处于“已批准”状态,连接状态正常。
内容的提问来源于stack exchange,提问作者One Developer
相关产品推荐
相关产品推荐

