Azure Service Fabric Explorer始终返回403

MrF*_*veT 11 azure azure-service-fabric

我刚刚将一个带有LoadBalancer的安全Service Fabric Cluster(EncryptAndSign)部署到Azure Subscription.部署需要一些时间,但它按预期工作.我也可以通过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
Run Code Online (Sandbox Code Playgroud)

我也可以使用VisualStudio通过端口19000将应用程序部署到群集.在Azure门户中,一切看起来都很好,没有警告,没有错误.

不幸的是,我无法通过端口19080连接到资源管理器.当我尝试通过LoadBalancer连接时,我收到一个连接超时.因此,建立了与群集中某个节点的RDP连接,并尝试通过本地访问资源管理器

localhost:19080/Explorer
Run Code Online (Sandbox Code Playgroud)

但是在这里我收到一个Http-Error 403(Forbidden),它可能是通过Load-Balancer连接超时的原因(因为探测器总是接收403).收录Azure文档:

"如果您尝试连接到安全群集上的Service Fabric Explorer,您的浏览器将要求您提供证书以获取访问权限."

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

MrF*_*veT 11

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

您可以在门户中添加管理客户端证书的指纹: Azure门户 - 添加管理员证书

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

{
  "type": "Microsoft.ServiceFabric/clusters",
  ...
  "properties": {
    ...
    "ClientCertificateThumbprints": [
      {
        "CertificateThumbprint": "THUMBPRINT_HERE",
        "IsAdmin": true
      }
    ],
  ...
  }
}
Run Code Online (Sandbox Code Playgroud)

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

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

  • @NickBarrett,你可以定义多个ClientCerts,你可以使用它们管理权限,这样你就可以与其他人共享非admin-cert,这样他们就可以只读访问集群了(但不允许他们进行任何操作)管理员操作,如停用节点).您还可以通过Azure门户删除证书指纹,以撤消对具有该证书的人员的访问权限.因此我建议您至少创建一个新证书.浏览器集成取决于您的浏览器.在Firefox中,导航到"设置" - >"高级" - >"证书"以管理证书. (2认同)