我将App证书配置为Azure虚拟机,使用此链接上的步骤- https://blogs.msdn.microsoft.com/appserviceteam/2017/10/26/configure-app-service-certificate-to-azure-virtual-machine/
我已经完成了第一步到第六步,我被困在试图从密钥库将证书添加到VM中。我使用了链接中的步骤:https://learn.microsoft.com/en-us/azure/virtual-machines/windows/tutorial-secure-web-server
我在蔚蓝门户上的云shell上使用了以下脚本。
$certUrl = (Get-AzureKeyVaultSecret -VaultName "xxxKeyVault" -Name "xxxcert").Id;
$vm=Get-AzureRmVM -ResourceGroupName "xxx_Group" -Name "XXX"
$vaultId=(Get-AzureRmKeyVault -VaultName "xxxKeyVault").ResourceId
$certStore = "MyCert";
$vm = Add-AzureRmVMSecret -VM $vm -SourceVaultId $vaultId -CertificateStore $certStore -CertificateUrl $certURL
Update-AzureRmVM -ResourceGroupName "xxx_Group" -VM $vm>但是到了最后一个脚本,我得到了错误
更新-AzureRmVM: List vaultCertificates包含重复的实例(https://xxxkeyvault.vault.azure.net/secrets/xxxxxx/xxxxxx,mycert),这是不允许的。ErrorCode: InvalidParameter ErrorMessage: List vaultCertificates包含重复的(https://xxxkeyvault.vault.azure.net/secrets/xxxxxx/xxxxxx,mycert)实例,这是不允许的。ErrorTarget: vaultCertificates StatusCode: 400 ReasonPhrase:坏请求OperationID : 51078b39-72a0-4a6f-be02-e0fff12dff8b行:1字符:1+更新-AzureRmVM -ResourceGroupName "xxxx_Group“-VM $vm +~+ CategoryInfo : CloseError:(:)更新-AzVM,ComputeCloudException + FullyQualifiedErrorId:-VM$vm+~+CategoryInfo:CloseError:
我是不是遗漏了什么?我的Vm是个窗口。
更新我已经验证了我在Vm上有不止相同的证书。拜托,我到底要移除哪一个?
"secrets": [
{
"sourceVault": {
"id": "/subscriptions/xxxx/resourceGroups/xxxx/providers/Microsoft.KeyVault/vaults/xxxKeyVault"
},
"vaultCertificates": [
{
"certificateUrl": "https://xxxkeyvault.vault.azure.net/secrets/xxxx/xxxx",
"certificateStore": "My"
},
{
"certificateUrl": "https://xxxxkeyvault.vault.azure.net/secrets/xxxxx/xxxxx",
"certificateStore": "My"
},
{
"certificateUrl": "https://xxxxkeyvault.vault.azure.net/secrets/xxxxxx/xxxxxxx",
"certificateStore": "My"
},
{
"certificateUrl": "https://xxxxkeyvault.vault.azure.net/secrets/xxxxxxx/xxxxxxxx",
"certificateStore": "MyCert"
}
]
},
{
"sourceVault": {},
"vaultCertificates": {}
}
],发布于 2018-12-27 01:31:31
当您向Azure VM添加证书时,应该首先确保VM的哪种OS类型。使用您所遵循的文档使用存储在密钥库中的SSL证书在Azure中的Windows虚拟机上保护web服务器中的描述:
这些SSL证书可以存储在Azure密钥库中,并允许安全地将证书部署到Azure中的Windows虚拟机(VM)。
似乎只适用于Windows,我也做了测试。因此,如果要向Linux添加证书,可以查看使用密钥库中存储的SSL证书在Azure中的Linux虚拟机上保护web服务器。
此外,错误还显示:
更新-AzureRmVM: List vaultCertificates包含重复的实例(https://xxxkeyvault.vault.azure.net/secrets/xxxxxx/xxxxxx,mycert),这是不允许的。
我建议您最好检查VM是否已经拥有相同的证书。在我这方面,如果您两次添加相同的证书,而第二次则会出现如下错误:

希望这能帮到你。
发布于 2018-12-27 05:59:03
你需要做的是:
Azure的东西-它不知道(或关心)你的vm是否真的有你想要安装的证书,它抱怨的是VM定义已经有了证书,所以它不能添加它。
https://stackoverflow.com/questions/53937580
复制相似问题