使用 Azure 应用程序网关在认证链中发布
Issue within certification chain using azure application gateway
我正在使用 Azure 应用程序网关 v2 将流量路由到包含虚拟机 运行 一些 docker 容器的后端池,该容器托管一个 aspnet 核心网络 api。该应用程序正在端口 443 中侦听。
网关侦听器配置为接受 HTTPS 连接。还添加了 pfx 证书。
网关的 HTTP 设置配置如下:
我已经为设置提供了正确的根证书。我已经按照此处所述导出了证书:
https://docs.microsoft.com/de-de/azure/application-gateway/certificates-for-backend-authentication
后端池中的所有 VM 使用与网关侦听器相同的证书。
使用 C# 应用程序调用 api 或在浏览器中打开特定 url 时,连接似乎是可信的。
但是当我使用启用了 SSL 证书验证的邮递员调用 api 时出现错误。
错误:无法验证第一个证书
对 sslhopper.com 的检查也表明链中存在问题。
我在 digicert.com.
上查看了更多信息
TLS 证书不受信任
该证书不是由受信任的机构签署的(根据 Mozilla 的根存储进行检查)。如果您从受信任的机构购买证书,您可能只需要安装一个或多个中间证书。请联系您的证书提供商以获得针对您的服务器平台执行此操作的帮助。
我真的很难解决这个问题。非常欢迎所有有用的提示。
生产环境,运行 在 Windows 服务器上,没有网关,但相同的证书有效。所以问题一定出在网关配置中的某个地方。
如果证书不受信任,则需要检查应用程序网关侦听器。确保您没有使用 Basic 侦听器。
如果您使用的是多站点侦听器,请确保您提到的主机名与证书 CN 匹配
问题已解决。关键线索来自博客post。
http://blog.repsaj.nl/index.php/2019/08/azure-application-gateway-certificate-gotchas/
Gateway V2:证书链的重要性
我重新导出了包含整个链的 pfx 证书并将其上传到网关。
您需要做的就是通过在其中添加中间证书并上传到 Azure 应用程序网关侦听器来重新创建 PFX。按照下面列出的命令进行操作。
- openssl pkcs12 -in .pfx -clcerts -nokeys -out .crt
- openssl pkcs12 -in .pfx -nocerts -nodes -out .key
- openssl pkcs12 -export -out _new.pfx -inkey .key -in .crt -certfile intermediate.cer
我正在使用 Azure 应用程序网关 v2 将流量路由到包含虚拟机 运行 一些 docker 容器的后端池,该容器托管一个 aspnet 核心网络 api。该应用程序正在端口 443 中侦听。
网关侦听器配置为接受 HTTPS 连接。还添加了 pfx 证书。
网关的 HTTP 设置配置如下:
我已经为设置提供了正确的根证书。我已经按照此处所述导出了证书: https://docs.microsoft.com/de-de/azure/application-gateway/certificates-for-backend-authentication
后端池中的所有 VM 使用与网关侦听器相同的证书。
使用 C# 应用程序调用 api 或在浏览器中打开特定 url 时,连接似乎是可信的。
但是当我使用启用了 SSL 证书验证的邮递员调用 api 时出现错误。 错误:无法验证第一个证书
对 sslhopper.com 的检查也表明链中存在问题。
我在 digicert.com.
上查看了更多信息TLS 证书不受信任 该证书不是由受信任的机构签署的(根据 Mozilla 的根存储进行检查)。如果您从受信任的机构购买证书,您可能只需要安装一个或多个中间证书。请联系您的证书提供商以获得针对您的服务器平台执行此操作的帮助。
我真的很难解决这个问题。非常欢迎所有有用的提示。 生产环境,运行 在 Windows 服务器上,没有网关,但相同的证书有效。所以问题一定出在网关配置中的某个地方。
如果证书不受信任,则需要检查应用程序网关侦听器。确保您没有使用 Basic 侦听器。
如果您使用的是多站点侦听器,请确保您提到的主机名与证书 CN 匹配
问题已解决。关键线索来自博客post。 http://blog.repsaj.nl/index.php/2019/08/azure-application-gateway-certificate-gotchas/ Gateway V2:证书链的重要性
我重新导出了包含整个链的 pfx 证书并将其上传到网关。
您需要做的就是通过在其中添加中间证书并上传到 Azure 应用程序网关侦听器来重新创建 PFX。按照下面列出的命令进行操作。
- openssl pkcs12 -in .pfx -clcerts -nokeys -out .crt
- openssl pkcs12 -in .pfx -nocerts -nodes -out .key
- openssl pkcs12 -export -out _new.pfx -inkey .key -in .crt -certfile intermediate.cer