如何使用PowerShell为Azure网站添加SSL证书?

5

我正在进行自动部署+Azure的工作。我现在需要为网站添加SSL证书。是否有人知道如何使用PowerShell命令(基于Add-Get-Set命令)将SSL证书上传到网站?我已经可以使用...将证书添加到云服务中。

New-AzureService $Program -Location 'East US'
Add-AzureCertificate -Password Cert123! -ServiceName $Program -CertToDeploy $CertLocation

但我不知道如何将其添加到Azure网站中。

谢谢

编辑:我已经找到了一种方法,使用以下命令,但我不想在我的生产部署机器上安装其他库。

azure site cert add -k Cert123! $CertLocation $Program
2个回答

5

2
在我的情况下,我不会将证书绑定到SSL操作,我需要它用于数据加密。门户似乎拒绝任何未启用SSL的证书,并且上面的命令似乎也假定SSL是我上传证书的原因。对我来说,上传证书和分配用于IIS / SSL的证书似乎是两个不同的需求...有什么想法吗? - Cameron Stillion
如果有人需要更新文档的链接,请访问以下网址 https://learn.microsoft.com/en-us/azure/app-service/app-service-web-tutorial-custom-ssl#azure-powershell - Lance McCarthy

3
据我所知,目前Azure PowerShell cmdlets没有提供此功能。正如您指出的那样,跨平台命令行工具可以提供此功能。由于您不想将XPlat-CLI工具添加到部署机器中,因此您可以使用XPlat-CLI工具在后台执行的操作:直接调用Web站点管理的REST API。
请注意,您需要弄清楚站点所在的Web空间等信息。您可以使用Invoke-WebRequest进行此调用,以便您可以验证是否收到了200响应。或者,您也可以使用Invoke-RESTMethod,但这只会返回XML文档(响应内容)。Invoke-WebRequest提供了更多的控制和对完整响应对象的访问权限。 Microsoft Azure Management Libraries(PowerShell cmdlets的基础)有一个Web站点管理部分。其中之一是对站点的更新,包括一个SSLCertificates属性的WebSiteUpdateParameters对象。您也可以查看一下这个,尽管我自己没有这样做过。

1
你提供的信息引导我到了http://blogs.technet.com/b/heyscriptingguy/archive/2014/03/17/using-the-windows-azure-rest-apis-with-powershell.aspx,该网页详细解释了Azure Rest API的实现。在我看来,这比NPM和PowerShell命令更好(目前)直到它们完成为止。 - CarComp
现在,即使在cli工具中,我也看不到这种能力。 - Ilya
我正在查看cli源代码,以确定“site cert add”命令的位置,因为我已经找到了如何设置证书(您需要指纹),但不知道在哪里上传证书。另外,“web spaces”是什么? - Dave Van den Eynde

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