如何使用PowerShell将SSL证书添加到azure网站?

Car*_*omp 5 powershell ssl certificate azure

我正在进行自动部署+天蓝色.我正在向网站添加ssl证书.有没有人知道如何使用PowerShell使用PowerShell命令(基于Add - Get - Set的命令)将SSL证书上传到网站?我可以使用...将证书添加到云服务

New-AzureService $Program -Location 'East US'
Add-AzureCertificate -Password Cert123! -ServiceName $Program -CertToDeploy $CertLocation
Run Code Online (Sandbox Code Playgroud)

但我不知道如何将它添加到天蓝色的网站.

谢谢

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

azure site cert add -k Cert123! $CertLocation $Program
Run Code Online (Sandbox Code Playgroud)

小智 5

使用新发布的Azure PowerShell v.1.1.0,您可以使用以下命令将证书上载到您的网站

New-AzureRmWebAppSSLBinding -ResourceGroupName myresourcegroup -WebAppName mytestapp -CertificateFilePath PathToPfxFile -CertificatePassword PlainTextPwd -Name www.contoso.com
Run Code Online (Sandbox Code Playgroud)

更多信息请参阅以下文章 https://azure.microsoft.com/en-us/documentation/articles/app-service-web-app-powerhell-ssl-binding/

  • 就我而言,我没有将证书绑定到SSL操作,我需要它来进行数据加密.Portal似乎拒绝任何未启用SSL的证书,上面的命令似乎也假设SSL是我上传证书的原因.上传证书并分配用于IIS/SSL的证书似乎是对我的单独需求......任何想法? (2认同)

Mik*_*eWo 3

据我所知,目前我发现的 Azure PowerShell cmdlet 不提供此功能。正如您所指出的,跨平台命令行工具就是这样做的。由于您不想将 XPlat-CLI 工具添加到部署计算机中,因此您可以使用 XPlat-CLI 工具在后台执行的操作:直接调用 REST api 进行网站管理。

请注意,您需要弄清楚该站点所在的网络空间等。您可以使用 Invoke-WebRequest 进行此调用,以便您可以验证是否收到了 200 响应。或者您也可以使用 Invoke-RESTMethod,但这只会返回 XML 文档(响应的内容)。Invoke-WebRequest 为您提供了对完整响应对象的更多控制和访问。

Microsoft Azure 管理库(PowerShell cmdlet 位于其之上)有一个网站管理部分。其中一项操作是更新站点,其中包括具有 SSLCertificates 属性的 WebSiteUpdateParameters 对象。你也可以检查一下,尽管我自己没有这样做过。