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

配置Azure Application Gateway使用Azure Key Vault证书时遇错误求助

Azure Application Gateway使用Key Vault证书更新监听器报错的排查方向

问题背景

尝试将Azure Application Gateway的HTTPS监听器切换为使用Azure Key Vault中存储的证书(该证书通过与DigiCert集成自动生成),但在更新监听器配置时遇到以下错误:

Failed to save application gateway changes
Error: problem occurred while accessing and validating KeyVault Secrets associated with Application Gateway

已完成的排查步骤:

  • 确认Key Vault中证书对应的Secret格式为PFX(contentType返回application/x-pkcs-12),且证书已关联正确的Secret标识符
  • 为App Gateway创建并分配了托管标识,已通过Key Vault访问策略授予该标识几乎所有权限
  • 已将Key Vault证书添加至网关的"Listener TLS certificates"区域,操作无报错
  • 尝试重启App Gateway,问题未解决

进一步排查方向

  • 验证托管标识的权限细节与生效状态
    检查Key Vault访问策略中,托管标识是否明确拥有Get操作权限(针对Certificate和Secret对象类型),且策略的应用范围覆盖当前Key Vault。执行CLI命令确认策略关联:

    az keyvault show --name <你的Key Vault名称> --query properties.accessPolicies
    

    确认返回结果中包含托管标识的clientId,且对应的权限列表包含certificates/get和secrets/get。另外,访问策略可能存在几分钟的生效延迟,可等待一段时间后重试。

  • 检查Key Vault的网络访问限制
    若Key Vault启用了防火墙或虚拟网络隔离,需确认App Gateway所在子网是否被允许访问。可临时将Key Vault的网络访问设置为"允许所有网络"进行测试:若测试通过,说明是网络规则问题,需将App Gateway的子网添加到Key Vault的允许列表中。

  • 确认证书的有效性与兼容性
    验证DigiCert生成的证书是否满足App Gateway要求:

    • 证书必须是包含私钥的PFX格式,本地下载Secret后尝试导入,确认无损坏
    • 证书链完整(无缺失中间证书),可通过本地工具查看证书路径
    • 密钥长度为2048位或以上(App Gateway不支持1024位密钥)
    • 证书未过期,且状态为启用
  • 检查区域一致性
    App Gateway与Key Vault必须处于同一Azure区域,跨区域引用会导致验证失败。执行以下CLI命令分别确认两者区域:

    # 查看App Gateway区域
    az network application-gateway show --name <你的网关名称> --resource-group <资源组名称> --query location
    # 查看Key Vault区域
    az keyvault show --name <你的Key Vault名称> --query location
    
  • 确认托管标识的分配状态
    验证托管标识是否正确关联到App Gateway:

    az network application-gateway show --name <你的网关名称> --resource-group <资源组名称> --query identity
    

    检查返回的type为UserAssigned,且principalId、clientId与创建的托管标识一致。

  • 检查证书Secret的版本与状态
    若证书启用了版本控制,确认添加到App Gateway的证书引用的是有效版本的Secret。执行命令查看Secret状态:

    az keyvault secret show --name <证书对应的Secret名称> --vault-name <你的Key Vault名称> --query attributes
    

    确认enabled字段为true,且版本为当前有效版本。

  • 查看诊断日志定位具体错误
    启用App Gateway的诊断日志(重点查看ApplicationGatewayAccessLog和ApplicationGatewayFirewallLog),以及Key Vault的AuditEvent日志。通过日志可以获取具体的访问错误代码(如403权限不足、404资源未找到),从而精准定位问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 20:42:43