我正在使用Azure应用程序网关v2将流量路由到后端池,该后端池包含运行某些托管aspnet核心webapi的docker容器的VM的虚拟机。该应用程序正在端口443中列出。 网关侦听器配置为接受HTTPS连接。 pfx证书也已添加。 网关的HTTP设置配置如下:
希望我已经为该设置提供了正确的根证书。我已经按照以下说明导出了证书: https://docs.microsoft.com/de-de/azure/application-gateway/certificates-for-backend-authentication
使用C#应用程序调用api或在浏览器中打开特定的url时,连接似乎受到信任。
但是在使用带有可靠SSL证书验证的邮递员调用api时遇到错误。 错误:无法验证第一个证书
在sslhopper.com上进行的检查也表明链中存在问题。
我在digicert.com上进行chekc时获得了更多信息。
TLS证书不受信任 证书不是由受信任的机构签名的(请检查Mozilla的根存储)。如果您是从受信任的机构购买的证书,则可能只需要安装一个或多个中间证书。请与您的证书提供商联系,以获取针对您的服务器平台的帮助。
我真的很想解决这个问题。欢迎所有有用的提示。 在Windows Server上运行的生产环境没有网关,但是相同的证书有效。因此,问题必须出在网关配置中。
答案 0 :(得分:1)
问题已解决。关键线索来自博客文章。 http://blog.repsaj.nl/index.php/2019/08/azure-application-gateway-certificate-gotchas/ 网关V2:证书链的重要性
我重新导出了包括整个链的pfx证书,并将其上传到网关。
答案 1 :(得分:0)
如果证书不受信任,则需要检查应用程序网关侦听器。确保您没有使用基本侦听器。
如果您使用的是多站点侦听器,请确保您提到的主机名与证书CN匹配。
答案 2 :(得分:0)
您需要做的就是通过在其中添加中间证书并上传到 azure 应用程序网关侦听器来重新创建 PFX。按照下面列出的命令进行操作。