Service Fabric 证书交换。应用程序无法激活
Posted
技术标签:
【中文标题】Service Fabric 证书交换。应用程序无法激活【英文标题】:Service Fabric certificate swap. Apps failing to activate 【发布时间】:2019-07-31 03:44:29 【问题描述】:我们有 5 个 Service Fabric 节点,在 Azure 的 4 个环境中运行 2 个应用程序。我们的网络团队想要切换我们的集群证书,因此他们生成了一个新证书(我相信密钥保管库)并将其交换到主证书。我们更新了项目以使用新证书的指纹。我们成功地通过了集群的身份验证并使用新证书进行了部署(通过 Visual Studio),但现在应用程序不会激活。我们看到的错误是:
System.Hosting 报告属性“激活:1.0:1.0:131965678558388988”的错误。 激活过程中出错。已经有一个带有指纹 123oldCertNumber 的证书绑定到端口 200appPort。指定的新证书指纹:321newCertNumber
此外,我们尝试删除现在位于辅助插槽中的旧证书,但它只会处理几个小时,说“集群正在更新用户证书”。并最终无法删除证书。
任何帮助将不胜感激!
【问题讨论】:
【参考方案1】:这对我有用:
我删除了所有应用程序,但没有取消配置它们。然后我重置所有节点以清除它们。然后我删除了旧证书 - 这次它起作用了。我重新部署和中提琴,它激活没有问题。好吧,几乎,我有一个节点卡住了相同的错误消息。我已尝试删除数据并重置它,但仍无法清除它。
【讨论】:
【参考方案2】:如果您的两个应用程序都使用旧证书,那么您可能遇到了描述 Upgrading multiple applications with HTTPS endpoints 的文档中描述的问题。
当第一个应用程序进行更新时,它将无法使用新证书配置 HTTPS 端口,因为第二个应用程序仍在运行并且已经使用旧证书配置了 HTTPS 端口。前进的唯一途径是删除共享端口的两个应用程序,然后升级。
因此,您可能需要考虑采取一些方法来防止将来出现此问题。你可以:
将两个应用程序中的服务合并到一个应用程序中,或者 在不同的端口上运行每个应用程序。【讨论】:
【参考方案3】:我刚刚升级了我的应用程序以使用新证书,这是您必须做的。 我有 3 个应用程序使用一个证书。
说明 在应用程序清单中,我删除了绑定
来自我的 3 个应用程序中的 2 个。请务必不要一次从所有应用中删除绑定。
然后我重新部署了这 2 个应用程序并删除了绑定。
我用新证书更新了第三个应用程序并重新部署
然后我在其他 2 个应用程序中添加回绑定并更新它们以使用新证书并重新部署。
这就是我们所需要的。
这里是解决方案的链接
Renew endpoint certificate
【讨论】:
以上是关于Service Fabric 证书交换。应用程序无法激活的主要内容,如果未能解决你的问题,请参考以下文章
Service Fabric 多个 SSL 安全 WebAPI 和证书翻转
如何为 Service Fabric 配置 Let's Encrypt 证书?