如何通过Azure CLI查看应用服务证书的健康状态?
Azure应用服务证书健康状态查看方法
Azure门户里的证书「健康/警告」状态是基于证书到期时间自动判定的,az webapp config ssl list命令默认不会返回这个状态字段,你可以通过以下两种方式获取对应状态:
方式1:基于CLI返回的到期时间自行判断
执行az webapp config ssl list --resource-group MyResourceGroup后,结果中包含expirationDate字段,你可以将这个日期与当前时间对比:
- 若到期时间距离当前不足30天(门户默认预警阈值),对应门户的「警告」状态
- 若到期时间距离当前超过30天,对应「健康」状态
可以结合jq工具快速筛选并计算状态,示例命令:
az webapp config ssl list --resource-group MyResourceGroup --output json | jq '.[] | {证书名称: .name, 到期日期: .expirationDate, 健康状态: (if (.expirationDate | fromdate) - now < 30*24*3600 then "警告" else "健康" end)}'
方式2:用Azure Resource Graph查询
通过Azure Resource Graph可以直接查询并自定义计算健康状态,逻辑和门户完全一致,示例命令:
az graph query -q " resources | where type == 'microsoft.web/certificates' | where resourceGroup == 'MyResourceGroup' | extend 剩余天数 = datetime_diff('day', todatetime(properties.expirationDate), now()) | extend 健康状态 = iif(剩余天数 < 30, '警告', '健康') | project 证书名称 = name, 到期日期 = properties.expirationDate, 剩余天数, 健康状态 "
内容的提问来源于stack exchange,提问作者Tracey
相关产品推荐
相关产品推荐

