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

VNet集成App Service上传Blob至私有端点存储时证书验证失败求助

问题解决:VNet集成App Service访问私有端点存储容器的SSL/TLS信任错误

问题场景

属于VNet集成的App Service向同一网络中受私有端点保护的存储容器上传Blob时,抛出以下错误:

Azure.RequestFailedExecption. 基础连接已关闭。无法为SSL/TLS安全通道建立信任关系。
System.Net.WebException: 基础连接已关闭。无法为SSL/TLS安全通道建立信任关系。
System.Security.Authentication.AuthenticationException. 远程证书验证无效。
已尝试降低Web和存储服务的TLS版本,问题未解决。

核心原因

出现该错误的核心是DNS解析不匹配导致证书验证失败:存储账户的私有端点依赖私有DNS将公共域名解析到私有IP,但App Service未正确获取到这个解析结果,导致请求要么指向存储账户的公共IP(被私有端点拦截),要么直接访问私有IP(证书与IP不匹配),最终触发SSL/TLS信任校验失败。

解决步骤

  • 配置私有DNS区域关联
    为存储账户的Blob服务创建或关联对应的Azure私有DNS区域(privatelink.blob.core.windows.net),并将App Service所在的VNet链接到该私有DNS区域。确保App Service能将存储账户的Blob端点域名解析到私有IP地址,这样请求走私有网络,且访问的域名与证书绑定的域名一致,通过SSL校验。

  • 确认VNet集成类型
    确保App Service使用的是区域VNet集成(而非传统网关集成),区域集成支持直接访问VNet内的私有端点,无需额外网关配置。同时检查集成子网的NSG规则,允许出站443端口流量到存储账户的私有IP段。

  • 验证证书信任链

    • Windows App Service默认信任Azure根证书,无需额外配置;
    • 若使用Linux自定义镜像,需手动导入Azure根CA证书。可在App Service控制台执行命令openssl s_client -connect <你的存储账户名>.blob.core.windows.net:443,检查返回的证书链是否完整、可信。
  • 禁止直接访问私有IP
    不要通过存储账户的私有IP直接访问Blob服务,必须使用存储账户的官方Blob端点域名(如xxx.blob.core.windows.net),依赖私有DNS解析到私有IP,保证证书域名匹配。

  • 检查存储账户防火墙设置
    确认存储账户的防火墙已禁用公共访问(或仅允许私有网络访问),确保流量只能通过私有端点进入存储服务,避免公共网络请求干扰。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 23:54:56