Azure service fabric 证书颁发-服务结构粘在“上”;“正在等待节点”;

Azure service fabric 证书颁发-服务结构粘在“上”;“正在等待节点”;,azure-service-fabric,Azure Service Fabric,我正在使用ARM模板部署Service Fabric群集 使用自签名证书时,一切都很好。集群已创建,所有节点都处于正常状态 但是,当我对链式证书执行同样的操作时,集群就会陷入“等待节点”的状态 当我检查任何节点上证书的有效性时,我可以确认整个链是可信的 在查看windows事件日志时,我看到以下条目 警告-“请求失败:PUT/nodes/(CorrelationId=,UtcTime=06/02/2021 07:18:01,Certificate=) {“nodeTypeRef”:“xxxx”

我正在使用ARM模板部署Service Fabric群集

使用自签名证书时,一切都很好。集群已创建,所有节点都处于正常状态

但是,当我对链式证书执行同样的操作时,集群就会陷入“等待节点”的状态

当我检查任何节点上证书的有效性时,我可以确认整个链是可信的

在查看windows事件日志时,我看到以下条目

警告-“请求失败:PUT/nodes/(CorrelationId=,UtcTime=06/02/2021 07:18:01,Certificate=) {“nodeTypeRef”:“xxxx”,“ipAddress”:“faultDomain”:“4”,“upgradeDomain”:“4”,“zone”:“location”:“Infrastructure PlacementId”:“faultDomainOverride”:“upgradeDomainOverride”:“coordinationGroupID”:“}”

警告-“System.Exception:System.Net.WebException:远程服务器返回错误:(401)未经授权。 在System.Net.HttpWebRequest.GetResponse()中 位于Microsoft.Azure.ServiceFabric.Extension.Core.RestClient.Invoke(Uri requestUri,String方法,String requestBody,X509Certificate2 clientCertificate) 位于Microsoft.Azure.ServiceFabric.Extension.Core.RestClient.Invoke(Uri requestUri,String方法,String requestBody,列表`1 clientCertificates)

位于Microsoft.Azure.ServiceFabric.Extension.Core.RestClient.Invoke(Uri requestUri,String方法,String requestBody,列表`1 clientCertificates) 位于Microsoft.Azure.ServiceFabric.Extension.Core.WrpTopologyService.UpdateNodeInfo(字符串machineName,NodeDescription NodeDescription) 位于Microsoft.Azure.ServiceFabric.Extension.Core.NodeBootstrapAgent.UpdateNodeTopology(字符串nodeName)”

警告-“错误:Microsoft.Azure.ServiceFabric.Extension.Core.AgentException:System.Net.WebException:远程服务器返回错误:(401)未经授权。 在System.Net.HttpWebRequest.GetResponse()中 位于Microsoft.Azure.ServiceFabric.Extension.Core.RestClient.Invoke(Uri requestUri,String方法,String requestBody,X509Certificate2 clientCertificate) 位于Microsoft.Azure.ServiceFabric.Extension.Core.RestClient.Invoke(Uri requestUri,String方法,String requestBody,列表`1 clientCertificates)

位于Microsoft.Azure.ServiceFabric.Extension.Core.NodeBootstrapAgent.UpdateNodeTopology(字符串nodeName) 在Microsoft.Azure.ServiceFabric.Extension.Core.NodeBootstrapAgent.d_u100.MoveNext()上 ---来自引发异常的上一个位置的堆栈结束跟踪--- 在System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()中 在System.Runtime.CompilerServices.TaskWaiter.HandleNonSuccessAndDebuggerNotification(任务任务)中 位于Microsoft.Azure.ServiceFabric.Extension.Core.NodeBootstrapAgent.d_u95.MoveNext()

警告-“请求失败:POST(CorrelationId=,UtcTime=06/02/2021 07:18:01,证书=) {“sequenceNumber”:“0”,“输出”:“}”

错误-“无法处理临时修复响应:系统。异常:System.Net.WebException:远程服务器返回错误:(401)未经授权。 在System.Net.HttpWebRequest.GetResponse()中 位于Microsoft.Azure.ServiceFabric.Extension.Core.RestClient.Invoke(Uri requestUri,String方法,String requestBody,X509Certificate2 clientCertificate) 位于Microsoft.Azure.ServiceFabric.Extension.Core.RestClient.Invoke(Uri requestUri,String方法,String requestBody,列表`1 clientCertificates)

位于Microsoft.Azure.ServiceFabric.Extension.Core.RestClient.Invoke(Uri requestUri,String方法,String requestBody,列表`1 clientCertificates) 位于Microsoft.Azure.ServiceFabric.Extension.Core.WrpTopologyService.GetAdHocRepairPollResponse(字符串machineName,VmExtensionAdHocRepairPollRequest请求) 位于Microsoft.Azure.ServiceFabric.Extension.Core.RepairStrategy.AdhorRepairHandler.PollSFRPForRepair()

更新: 在我最初的帖子之后,我尝试通过Azure门户创建一个集群,使用预期的生产证书。我首先手动创建了一个密钥库,并将证书作为.pfx上传。我跟着巫师走了下来,不料它成功了。唯一的区别是它现在通过指纹而不是通用名称引用证书(因为Azure门户中没有其他选项告诉它)


因此,当我们使用预期的生产证书通过ARM模板部署时,它不起作用,但具有自签名证书的相同ARM模板起作用。使用预期的生产证书,通过Azure门户手动执行,也有效。这真让人困惑

此外(我正在与@Stephan一起解决这个问题),当使用相同的证书从Azure门户创建集群时,节点会成功显示(@Stephan请用您掌握的任何信息进行评论)。有没有办法获得更多关于401错误原因的信息?谢谢这个问题已经解决了。请查看解决方案。