Azure 应用程序网关:后端服务器证书已过期。请上传有效证件

Azure Application Gateway : Backend server certificate expired. Please upload a valid certificate

我们有一个启用了 WAF 功能的 Azure Application Gateway V2 设置。我们 运行 突然遇到了麻烦,我们所有后端池的健康状况(在我们的例子中是 3 个)开始显示不健康,并且在我们检查后端健康状况时显示错误:

后端服务器证书已过期。请上传有效证书。

现在,相同的证书应用于应用程序网关和后端池servers/VMs。我们不得不为后端服务器切换到非 SSL 端口以解决问题。

我无法查明问题所在,好像任何证书在应用于后端池时已过期 VM 在应用于应用程序网关本身后应该给出相同的错误。有人可以帮助确定问题的实际根本原因以及为什么它仅在后端池级别显示错误吗?

非常重要的一点是,当后端池 URL 打开时,浏览器中显示的证书距离到期还有 2 个多月。

谢谢。

托管在 Azure 上的我的 Web 应用程序(与您报告的时间大致相同)也发生了同样的事情,它也位于启用了 WAF 的应用程序网关 V2 设置之后。重新启动网络应用程序解决了错误。

目前我不确定应用程序网关的根本问题是什么,但重新启动 webapp 对我的一个应用程序有效,但另一个应用程序仍然不健康。但是,我可以从本地服务器成功连接到 webapp,只是不能通过应用程序网关。

最终对我有用的是从后端池中删除服务器并重新添加它。添加回来后,后端运行状况更改为 'Healthy'。

我无法发表评论,因为我没有足够的信誉点,但这可能与 Sectigo 的遗留 AddTrust 外部 CA 根证书将于 2020 年 5 月 30 日到期有关 https://support.sectigo.com/articles/Knowledge/Sectigo-AddTrust-External-CA-Root-Expiring-May-30-2020 在我的例子中,浏览器也显示一切正常,但负责执行 healtheck 的 HttpClient 无法连接到端点。有趣的是,我无法在 dotnet core 2.1 上使用 HttpClient 运行 访问端点,但在 dotnetcore 3.1 上一切正常

通过openssl检查后,确定中间证书已被CA吊销,是导致问题的原因。

要检查证书是否有效,可以使用在线证书状态协议或下载 CRI 文件并在该文件中检查证书。第二种方法的缺点是CRI文件在CA端需要一点时间来更新。