【问题标题】:Issue within certification chain using azure application gateway使用 Azure 应用程序网关的认证链中的问题
【发布时间】:2020-02-04 18:14:57
【问题描述】:

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

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

后端池中的所有虚拟机都使用与网关侦听器相同的证书。

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

但是当我使用 postman 调用 API 并启用 SSL 证书验证时出现错误。 错误:无法验证第一个证书

对 sslhopper.com 的检查也表明链中存在问题。

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

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

我真的很想解决这个问题。非常欢迎所有有用的提示。 生产环境,在 Windows 服务器上运行,没有网关,但相同的证书是有效的。所以问题一定出在网关配置的某个地方。

【问题讨论】:

    标签: azure docker certificate azure-application-gateway


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

      • 我的信息可能具有误导性。它总是在后端池的机器上运行相同的主机名和 API 不过我更新为多站点侦听器并在那里添加了主机名。是否设置了“使用众所周知的 CA 证书”复选框(使用添加的根证书)没有区别。 imgur.com/a/pPn5koT右侧是Azure实例的检查。 “不幸的是,更高级别的证书是未知的。”
      • 您能分享一下您的 HTTPS 侦听器配置的屏幕截图吗?
      【解决方案3】:

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

      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 intermediate.cer

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-10-13
        • 2022-11-24
        • 2021-05-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-10-23
        • 1970-01-01
        相关资源
        最近更新 更多