Azure Service Fabric Explorer始终返回403

时间:2016-06-18 15:21:16

标签: azure azure-service-fabric

我刚刚将带有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   群集,您的浏览器将要求您按顺序提供证书   获得访问权。"

好吧,我没有被提示出示任何证书。我错过了什么?配置有什么特别之处吗?提前谢谢。

1 个答案:

答案 0 :(得分:11)

好吧,这个并不是那么棘手 - 但你必须知道它,我还没有在任何地方阅读它。只要您不配置任何Andmin客户端证书,您对资源管理器(:19080 / Explorer)的所有请求最终都会得到403,如上所述。

您可以在门户网站中添加管理客户端证书的指纹: Azure Portal - Add Admin Certificate

它应该(未经测试)也适用于ARM模板中的以下设置:

{
  "type": "Microsoft.ServiceFabric/clusters",
  ...
  "properties": {
    ...
    "ClientCertificateThumbprints": [
      {
        "CertificateThumbprint": "THUMBPRINT_HERE",
        "IsAdmin": true
      }
    ],
  ...
  }
}

如您所见,应该可以(也未经测试)在此数组中指定多个证书。

确保生成并使用SHA1指纹哈希。 SHA256指纹可以通过Azure门户输入,但会产生HTTP 403响应,而不会发出问题的警告。