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

Azure应用网关TLS加密无法使用Key Vault中证书的问题求助

问题原因及解决方案

1. PFX转换时未包含完整证书链

Let's Encrypt的证书需要完整的链(叶证书+中间证书,部分场景需根证书)才能被客户端正常识别。如果转换PFX时只打包了叶证书和私钥,缺少中间/根证书,应用网关提供的证书链不完整,会触发SSL名称识别错误。

  • 修复步骤:
    重新用OpenSSL转换PFX,确保包含完整证书链。示例命令:
    openssl pkcs12 -export -out cert.pfx -inkey private.key -in leaf-cert.pem -certfile intermediate.pem
    
    若你的原始PEM文件已经包含叶证书和中间证书,可直接用该文件作为-in参数,无需分开指定-certfile。

2. Key Vault中证书的SAN字段不匹配

SSL握手时客户端会验证证书的Subject Alternative Name(SAN)是否包含请求域名。如果转换后的PFX导入Key Vault后SAN字段丢失或不匹配,就会触发错误。

  • 修复步骤:
    1. 登录Azure门户,进入目标Key Vault,查看对应证书/机密的详细属性
    2. 确认Subject和SAN字段包含你请求的域名
    3. 若SAN缺失,重新转换PFX并确保包含完整证书链,再重新导入Key Vault

3. Key Vault存储格式或编码问题

如果将PFX作为机密存储(而非证书资源),可能因编码或格式损坏导致应用网关无法正确解析。比如Terraform用filebase64处理时,若PFX本身有格式问题,上传后会出现解析错误。

  • 修复步骤:
    1. 优先将PFX导入Key Vault的证书资源(而非机密),Azure会自动解析证书链和属性,避免格式问题
    2. 若必须用机密存储,可下载Key Vault中的机密保存为PFX文件,用以下命令验证完整性:
      openssl pkcs12 -info -in downloaded.pfx
      
      确认能正常解析出证书链、私钥,且域名信息正确。

4. 应用网关身份权限的细微遗漏

虽然已配置用户分配身份和Get权限,但可能存在权限范围或对象类型的问题:

  • 确保用户分配身份对Key Vault的证书(若用证书资源)或机密(若用机密存储)都有Get权限
  • 检查Key Vault访问策略是否绑定了正确的用户分配身份,且权限范围覆盖目标证书/机密
  • 确认应用网关的配置中已正确关联该用户分配身份

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 05:37:20