Azure应用网关后端健康异常:中间证书缺失及根证书显示问题求助
解决Azure Application Gateway后端健康异常(证书链缺失中间证书)问题
核心结论:根证书不显示无需担忧
根CA作为信任锚,不需要包含在服务器对外发送的证书链中(APGW已预先信任该根CA),所以证书路径里看不到根证书是正常现象。问题的核心是后端VM返回的证书链缺少中间证书,导致APGW无法完成信任链验证。
问题成因
- 后端VM安装的PFX证书未包含完整中间证书链,或中间证书未正确导入到服务器的中间证书存储区
- 客户导出PFX时未选择包含完整证书链(因中间证书未在本地存储导致导出选项灰色),导致PFX仅含叶证书
- APGW虽已配置根CA,但后端服务器返回的证书链不完整,无法完成信任链验证
解决步骤
1. 检查并修复后端VM的证书链
- 打开VM的MMC证书管理单元(选择「本地计算机」账户)
- 查看
个人>证书中的foo-test.bar.com证书:- 若证书路径中中间证书显示“无法验证”,将客户提供的中间证书导入到
本地计算机>中间证书颁发机构>证书存储区
- 若证书路径中中间证书显示“无法验证”,将客户提供的中间证书导入到
- 若使用IIS托管Drupal,重新绑定SSL站点,确保选择的证书关联完整链;执行以下命令验证服务器返回的证书链:
检查输出中的openssl s_client -connect <VM_IP>:443Certificate chain部分,确认包含叶证书和所有中间证书
2. 重新生成包含完整链的PFX证书
如果当前PFX缺少中间证书,需重新生成:
- 让客户从PKI系统导出叶证书+所有中间证书的完整链(无需包含根证书)
- 若用Windows导出,先将中间证书导入本地计算机的中间存储区,再导出叶证书为PFX,此时可勾选「包含证书路径中的所有证书」选项
- 或用OpenSSL命令合并生成:
(openssl pkcs12 -export -out fullchain.pfx -inkey private.key -in leaf.crt -certfile intermediate.crtprivate.key为叶证书私钥,leaf.crt为叶证书,intermediate.crt为中间证书)
3. 验证APGW后端配置
- 确认APGW的「后端设置」中已正确上传根CA证书,且「后端服务器证书由知名CA颁发」设为
No - 检查后端池的健康检查路径是否正确(如
/或Drupal专属健康端点),排除应用本身导致的健康检查失败
内容的提问来源于stack exchange,提问作者hongphuc95
相关产品推荐
相关产品推荐

