使用azure应用程序网关的认证链中的问题

时间:2019-10-07 12:39:32

标签: azure docker certificate azure-application-gateway

我正在使用Azure应用程序网关v2将流量路由到后端池,该后端池包含运行某些托管aspnet核心webapi的docker容器的VM的虚拟机。该应用程序正在端口443中列出。 网关侦听器配置为接受HTTPS连接。 pfx证书也已添加。 网关的HTTP设置配置如下: enter image description here

希望我已经为该设置提供了正确的根证书。我已经按照以下说明导出了证书: https://docs.microsoft.com/de-de/azure/application-gateway/certificates-for-backend-authentication

enter image description here

后端池中的所有VM使用与网关侦听器相同的证书。 enter image description here

使用C#应用程序调用api或在浏览器中打开特定的url时,连接似乎受到信任。

enter image description here

但是在使用带有可靠SSL证书验证的邮递员调用api时遇到错误。 错误:无法验证第一个证书

在sslhopper.com上进行的检查也表明链中存在问题。 enter image description here

我在digicert.com上进行chekc时获得了更多信息。

TLS证书不受信任 证书不是由受信任的机构签名的(请检查Mozilla的根存储)。如果您是从受信任的机构购买的证书,则可能只需要安装一个或多个中间证书。请与您的证书提供商联系,以获取针对您的服务器平台的帮助。

我真的很想解决这个问题。欢迎所有有用的提示。 在Windows Server上运行的生产环境没有网关,但是相同的证书有效。因此,问题必须出在网关配置中。

3 个答案:

答案 0 :(得分:1)

问题已解决。关键线索来自博客文章。 http://blog.repsaj.nl/index.php/2019/08/azure-application-gateway-certificate-gotchas/ 网关V2:证书链的重要性

我重新导出了包括整个链的pfx证书,并将其上传到网关。

答案 1 :(得分:0)

如果证书不受信任,则需要检查应用程序网关侦听器。确保您没有使用基本侦听器。

如果您使用的是多站点侦听器,请确保您提到的主机名与证书CN匹配。

答案 2 :(得分:0)

您需要做的就是通过在其中添加中间证书并上传到 azure 应用程序网关侦听器来重新创建 PFX。按照下面列出的命令进行操作。

  1. openssl pkcs12 -in .pfx -clcerts -nokeys -out .crt
  2. openssl pkcs12 -in .pfx -nocerts -nodes -out .key
  3. openssl pkcs12 -export -out _new.pfx -inkey .key -in .crt -certfile middle.cer