我无法使用Powershell连接到我的Azure Service Fabric集群。
我已经使用https://support.jetglobal.com/hc/en-us/articles/235636308-How-To-Create-a-SHA-256-Self-Signed-Certificate在计算机上创建了证书“ Admin”
我已将此证书导入到我的Key Vault中,并在群集中使用“证书指纹”身份验证模式添加了“管理员客户端”身份验证(带有创建的证书的指纹)
我正在使用以下powershell命令:
$ClusterName= "***.francecentral.cloudapp.azure.com:19000"
$ThumbPrint= "e8*****"
Connect-serviceFabricCluster -ConnectionEndpoint $ClusterName -KeepAliveIntervalInSec 10 `
-X509Credential `
-ServerCommonName "Admin" `
-FindType FindBySubjectName `
-FindValue "Admin" `
-StoreLocation CurrentUser `
-StoreName My
如https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-connect-to-secure-cluster
中所述(我也尝试过-FindByThumPrint)
我得到了FARBRIC_E_SERVER_AUTHENTICATION_FAILED:CertficateNotMatched。
我想念什么?
答案 0 :(得分:0)
SSL证书和SF群集端点URI必须匹配
解决此问题的方法很少:
如果群集证书已颁发给自定义域(例如,mysite.mydomain.com
),则需要在$ClusterName
中使用该自定义域URL。此外,mysite.mydomain.com
和***.francecentral.cloudapp.azure.com
都必须解析为相同的IP地址。
您还可以通过创建新证书并将其指向***.francecentral.cloudapp.azure.com
来修复它。完成此操作后,将其替换为群集中的旧数据库,然后使用***.francecentral.cloudapp.azure.com
端点进行连接。
这不是修复程序,而是解决方法。您可以通过修改C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe.config
并将checkCertificateName
设置为false
来禁用证书名称检查。像这样(click here):
<configuration><system.net><settings><servicePointManager checkCertificateName="false" /></settings><system.net></configuration>