如何为Azure Linux服务Web应用程序设置Let's Encrypt证书

3
我发现了很多关于如何为Azure Windows Web App服务设置Let's Encrypt的指南,但是找不到任何关于Linux服务的指南。
以下是两个需要Windows的示例教程。 在上面的教程以及我找到的所有其他教程中,您需要使用Web应用程序扩展来每3个月更新证书。但是这些在Linux应用程序上不可用
当您尝试导航到它时,这是您在Azure门户中看到的所有内容。

no extension for you

那么,有人有关于如何为Azure Linux服务设置自动化Let's Encrypt证书的链接或有用提示吗?

我相信人们也希望为Linux应用程序使用Let's Encrypt证书?

2个回答

4
你可以5个步骤为Azure Web应用程序设置Let's Encrypt SSL证书
  1. 安装Certbot客户端
  2. 使用Certbot手动创建Let's Encrypt证书
  3. 使用OpenSSL将PEM格式转换为PFX格式,以便在Azure上使用

    openssl pkcs12 -inkey /work-dir-path/live/website.com/privkey.pem -in /work-dir-path/live/website.com/cert.pem -export -out /work-dir-path/live/website.com/cert.pfx

  4. 使用Azure CLI方法将PFX证书上传到Azure门户网站

    az webapp config hostname add --webapp-name $webappname --resource-group $resourceGroup \ --hostname $fqdn

    thumbprint=$(az webapp config ssl upload --certificate-file $pfxPath \ --certificate-password $pfxPassword --name $webappname --resource-group $resourceGroup \ --query thumbprint --output tsv)

  5. 使用Azure CLI方法将已上传的SSL证书绑定到您的Web应用程序门户网站

    az webapp config ssl bind --certificate-thumbprint $thumbprint --ssl-type SNI \ --name $webappname --resource-group $resourceGroup

另外,Azure允许您轻松创建免费证书,并在几个按钮的点击下将其添加到您的App Service应用程序中。该证书由DigiCert颁发,由App Service管理,并自动更新。请参阅Azure文档


1
这不会自动更新证书,对吧? - JensB
1
我注意到Azure也有免费的证书,我认为那可能是我最好的选择。不幸的是,他们不支持子域名,但这可能是为了简单而付出的小代价。 - JensB
最好的选择是免费的应用服务托管证书,它可以自动更新。 - Nancy Xiong
你还有什么问题吗? - Nancy Xiong
1
不,我明白你的回答。这需要我每三个月手动更新letencrypt证书,或者使用MS证书,但他们的证书在允许的范围内相当有限。无论哪种解决方案都不是很好(但这不是你的错)。我希望有人能提出更好的解决方案。 - JensB

3

最近我找到了一个非常好的解决方法。你可以使用Let's Encrypt Web应用程序续订工具来安装和更新Linux Web应用程序的证书。

  1. 为Windows创建免费应用计划
  2. 为Windows创建Web应用程序
  3. 按照Github页面上的说明 - 将其设置为更新Linux Web应用程序证书(多达您想要的数量)
  4. 定期计划任务以触发Webhook或使用Azure函数或任何其他选项每三个月触发该任务。

如果你正在使用spa服务,.net core在Linux上运行时有一些小技巧才能使它正常工作。由于spa静态文件,我不得不将letsencrypt:webAppName-webRootPath配置设置为d:\home\site\wwwroot\wwwroot。

完成!


关于最后一部分的注释,这将取决于您使用的运行时。如果您正在运行ASP.NET Core,则路径是正确的,但是如果您正在运行节点应用程序,并且您直接提供文件,则不会在子文件夹wwwroot中。 - Jeff Putz

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接