我刚刚将带有LoadBalancer的安全Service Fabric Cluster(EncryptAndSign)部署到Azure订阅。部署需要一些时间,但它按预期工作。我也可以通过PowerShell连接到群集:
$connectionEndpoint = ("{0}.{1}.cloudapp.azure.com:19000" -f
"mycluster", "somewhere")
Connect-serviceFabricCluster -ConnectionEndpoint $connectionEndpoint `
-KeepAliveIntervalInSec 10 `
-X509Credential `
-ServerCertThumbprint "..." `
-FindType FindByThumbprint `
-FindValue $clusterCertificate.Thumbprint `
-StoreLocation CurrentUser -StoreName My
我也可以使用VisualStudio通过端口19000将应用程序部署到群集。在Azure门户中,一切看起来都很好,没有警告,没有错误。
不幸的是,我无法通过端口19080连接到资源管理器。当我尝试通过LoadBalancer连接时,我收到一个连接超时。因此,建立了与群集中某个节点的RDP连接,并尝试通过
在本地访问资源管理器localhost:19080/Explorer
但是在这里我收到一个Http-Error 403(Forbidden),它可能是通过Load-Balancer连接超时的原因(因为探测器总是接收403)。加入Azure Documentation:
"如果您尝试连接到安全的Service Fabric Explorer 群集,您的浏览器将要求您按顺序提供证书 获得访问权。"
好吧,我没有被提示出示任何证书。我错过了什么?配置有什么特别之处吗?提前谢谢。
答案 0 :(得分:11)
好吧,这个并不是那么棘手 - 但你必须知道它,我还没有在任何地方阅读它。只要您不配置任何Andmin客户端证书,您对资源管理器(:19080 / Explorer)的所有请求最终都会得到403,如上所述。
它应该(未经测试)也适用于ARM模板中的以下设置:
{
"type": "Microsoft.ServiceFabric/clusters",
...
"properties": {
...
"ClientCertificateThumbprints": [
{
"CertificateThumbprint": "THUMBPRINT_HERE",
"IsAdmin": true
}
],
...
}
}
如您所见,应该可以(也未经测试)在此数组中指定多个证书。
确保生成并使用SHA1指纹哈希。 SHA256指纹可以通过Azure门户输入,但会产生HTTP 403响应,而不会发出问题的警告。