gpt4 book ai didi

azure - 在 Azure 应用程序网关中包含 Letsencrypt 根证书

转载 作者:行者123 更新时间:2023-12-03 02:21:05 26 4
gpt4 key购买 nike

我正在尝试关注Azure Tutorial关于如何在 vnet 下获取 Api 管理并通过应用程序网关 (WAF) 进行访问。我一直试图将根证书上传到应用程序网关。它说“证书数据无效”,显然Azure应用程序网关不喜欢Letsencrypt证书。

我的证书是:

  1. mydomain.com.br
  2. api.mydomain.com.br
  3. developer.mydomain.com.br
  4. managemnet.mydomain.com.br

我用过acmesh生成所有证书:

./acme.sh --issue  -d mydomain.com.br --dns dns_gd    --server  letsencrypt
./acme.sh --issue -d api.mydomain.com.br --dns dns_gd --server letsencrypt
./acme.sh --issue -d developer.mydomain.com.br ---dns dns_gd --server letsencrypt
./acme.sh --issue -d management.mydomain.com.br --dns dns_gd --server letsencrypt

Vnet、子网、安全组和 Api 管理均已成功创建,除了我需要创建应用程序网关的部分之外,一切都很好:

$appgwName = "apim-app-gw"
$appgw = New-AzApplicationGateway -Name $appgwName -ResourceGroupName $resGroupName -Location $location `
-BackendAddressPools $apimGatewayBackendPool,$apimPortalBackendPool,$apimManagementBackendPool `
-BackendHttpSettingsCollection $apimPoolGatewaySetting, $apimPoolPortalSetting, $apimPoolManagementSetting `
-FrontendIpConfigurations $fipconfig01 -GatewayIpConfigurations $gipconfig -FrontendPorts $fp01 `
-HttpListeners $gatewayListener,$portalListener,$managementListener `
-RequestRoutingRules $gatewayRule,$portalRule,$managementRule `
-Sku $sku -WebApplicationFirewallConfig $config -SslCertificates $certGateway,$certPortal,$certManagement `
-TrustedRootCertificate $trustedRootCert -Probes $apimGatewayProbe,$apimPortalProbe,$apimManagementProbe

最后一行是我需要告知 .cer 文件路径的位置。我尝试添加 mydomain.com.br.cer 和 fullchain.cer,但没有成功。尝试使用 openssl 创建 Base64 文件,也没有成功:

sudo openssl x509 -inform PEM -in /etc/letsencrypt/live/mydomain.com/fullchain.pem -outform DER -out trustedrootDER.cer
openssl x509 -inform der -in trustedrootDER.cer -out trustedroot.cer

我什至创建了一个运行 Windows 的虚拟机 to try this approach ,没有喜悦。

从架构的角度来看,解决方案非常简单,但是证书问题使其变得很麻烦: enter image description here

非常感谢这里的任何指示!谢谢

最佳答案

为什么要在应用程序网关上添加 Lets Encrypt 根 CA 证书?

据我了解,Lets Encrypt 的根 CA 是 ISRG Root X1,并且该根 CA 应该已经受到客户端(浏览器)的信任。如果您拥有自签名证书,则只需添加根 CA .

以下是将证书存储在 Azure Key Vault 中的工作流程:https://techblog.buzyka.de/2021/02/make-lets-encrypt-certificates-love.html

此处的另一个工作流程描述了添加带有 ACME 挑战的证书:https://intelequia.com/blog/post/1012/automating-azure-application-gateway-ssl-certificate-renewals-with-let-s-encrypt-and-azure-automation

关于azure - 在 Azure 应用程序网关中包含 Letsencrypt 根证书,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68989092/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com