2014-04-14 240 views
4

我正在进行自动部署+天蓝色。我正在向网站添加SSL证书。有谁知道如何使用PowerShell上传SSL证书到网站使用PowerShell命令(添加 - 获取 - 基于命令)?我可以添加证书到云服务使用...如何使用PowerShell将SSL证书添加到蔚蓝网站?

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

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

感谢

编辑:我发现使用下面的命令的方式,但我不希望我的生产部署的机器上安装额外的库。

azure site cert add -k Cert123! $CertLocation $Program 

回答

3

据我所知,Azure PowerShell cmdlet在我能找到的时刻不提供此功能。正如您指出跨平台命令行工具所做的那样。由于您不想将XPlat-CLI工具添加到您的部署机器中,因此您可以使用XPlat-CLI工具的功能:直接调用REST API以进行网站管理。

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

Microsoft Azure Management Libraries(其中PowerShell cmdlet位于顶部)有一个网站管理片段。其中一项操作是对站点的更新,其中包括具有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

+0

现在我甚至没有看到这种能力,即使在cli工具 – Ilya

+0

我正在查看cli源以查看“site cert add”命令的位置,因为我已经找到了如何设置证书(您需要指纹),而不是在哪里上传证书。另外,什么是“网页空间”? –

4

使用新近发布的Azure中的PowerShell诉1.1.0,您可以使用以下命令将证书上传到您的网站

New-AzureRmWebAppSSLBinding -ResourceGroupName myresourcegroup -WebAppName mytestapp -CertificateFilePath PathToPfxFile -CertificatePassword PlainTextPwd -Name www.contoso.com 

更多信息,下面的文章中 https://azure.microsoft.com/en-us/documentation/articles/app-service-web-app-powerhell-ssl-binding/

+1

在我的情况下,我没有将证书绑定到SSL操作,我需要它来进行数据加密。门户网站似乎拒绝任何不支持SSL的证书,并且上面的命令似乎也认为SSL是我上传证书的原因。上传证书并分配用于IIS/SSL的证书似乎对我来说是独立的需求......任何想法? –