为开启安全认证的Service Fabric设置自定义域名

作者:Rui 发布时间:March 1, 2017 分类:Azure,CLOUD 浏览:625

一般情况下,如果我们没有为Azure Service Fabric开启群集安全证书功能,我们只需要将域名的DNS解析绑定到Service Fabric群集使用的负载均衡器对应的公网IP上即可。但对于开启了安全证书功能的群集,我们需要将证书和域名进行绑定,相对要麻烦一些。

生成证书
我们可以在CA申请自定义域名的可信证书,也可以使用自签名证书,无论哪种证书,我们都需要将证书使用者的名称和自定义域名保持一致。以下是使用Github上提供的PowerShell模块,可以借此快速生成证书,并上传至Key Vault。下载Github 代码后,将其解压,并执行以下命令导入PowerShell模块

 Import-Module "C:\..\ServiceFabricRPHelpers\ServiceFabricRPHelpers.psm1"

此模块中提供Invoke-AddCertTokeyVault命令自动将证书的私钥格式设置为JSON字符串,并将它上传到密钥保管库,参考以下脚本。

$ResouceGroup = "kevin-group"
$VName = "kevinsfvault"
$SubID = "e0fbea86-6cf2-4b2d-81e2-9c59f4f96bcb"
$locationRegion = "chinanorth"
$newCertName = "aruicert"
$dnsName = "test.arui.me"
$localCertPath = "C:\"

Invoke-AddCertToKeyVault -SubscriptionId $SubID -ResourceGroupName $ResouceGroup -Location $locationRegion -VaultName $VName -CertificateName $newCertName -CreateSelfSignedCertificate -DnsName $dnsName -OutputPath $localCertPath

其中dnsName 必须和我们的自定义域名一致。

阅读剩余部分...