我想在一个azure web应用程序上添加100多个自定义域,每个域都有自己的SSL证书(从cloudflare下载(。
有没有一种方法可以一次从azure cli针对每个自定义域上传100多个pfx证书文件?
例如:abc.com拥有自己的ssl证书xyz.com拥有自己的ssl证书
我将被要求添加自定义域&他们的ssl证书是批量的。
目前,我可以用以下命令将1 pfx上传到应用程序:
New-AzWebAppSSLBinding -WebAppName WebApiStaging -Name devops.prod.xyz -ResourceGroupName Staging -CertificateFilePath C:prod.pfx -CertificatePassword XXXXXX -SslState SniEnabled
请提出可能的选择。感谢
让我们看看您正在使用的命令的变量部分:
New-AzWebAppSSLBinding -WebAppName WebApiStaging -Name devops.prod.xyz -ResourceGroupName Staging -CertificateFilePath C:prod.pfx -CertificatePassword XXXXXX -SslState SniEnabled
由于单个应用程序有多个绑定,-WepAppName
和-ResourceGroupName
将保持不变,我想您也希望为所有绑定启用SNI,这就给我们留下了:
-Name <domain fqdn>
-CertificateFilePath <path to pfx file>
-CertificatePassword <pfx password>
因此,每次上传证书都需要这3条信息。
我建议你把这3列的电子表格放在一起,并将其保存为CSV文件,例如:
"Name","CertificateFilePath","CertificatePassword"
"abc.domain.tld","C:cert1.pfx","s3cr3tp@ssw0rd"
"def.domain.tld","C:cert2.pfx","s3cr3tp@ssw0rd2"
...
一旦您有了CSV,只需调用Import-Csv
导入数据,然后对每行重复New-AzWebAppSSLBinding
调用即可:
foreach($row in Import-Csv .pathtobindings.csv){
New-AzWebAppSSLBinding -WebAppName WebApiStaging -Name $row.Name -ResourceGroupName Staging -CertificateFilePath $row.CertificateFilePath -CertificatePassword $row.CertificatePassword -SslState SniEnabled
}