【问题标题】:Local Cluster SSL Certificate invalid trust本地集群 SSL 证书无效信任
【发布时间】:2017-08-05 23:36:11
【问题描述】:

我的本​​地开发(5 节点)集群安装了两个无状态服务。一项 .Net Core Web Gui 服务和一项 .Net Core WebAPI 服务。 两者都配置为使用 https 端点。 证书是自签名证书,并添加到受信任的根和个人(在当前用户和本地计算机中)。

我可以使用本地浏览器访问两个端点,而不会出现任何证书错误。它说连接是安全的并且证书是可信的。 到目前为止一切顺利。

但是当我的 Web API 服务调用我的 Web Gui 服务时,它说它无法创建受信任的连接。

为什么我的本地浏览器可以创建可信连接,但本地集群中运行的Service却不能?

本地集群中的节点是否有自己的证书存储?

【问题讨论】:

  • 您可以使用ServicePointManager.ServerCertificateValidationCallback 查看有关握手失败原因的更多信息吗?
  • 好的,我会尝试并返回结果。谢谢
  • 查看 ServerCertificateValidateCallback 函数告诉我问题是:System.Security.Cryptography.X509Certificates.X509ChainStatusFlags.UntrustedRoot 但是为什么服务会报告这个,而不是我的 Web 浏览器?
  • 你在这两种情况下都使用 FQDN(不是 localhost)来调用服务吗?
  • 是的,主机名已添加到主机文件中。

标签: ssl-certificate azure-service-fabric


【解决方案1】:

事实证明,我错过了将证书添加到机器根目录,这就是导致问题的原因。

为了使本地 SSL 工作,我需要将自签名证书添加到:

localmachine/my
localmachine/root

这让服务可以从本地集群中调用服务。

currentuser/my
currentyser/root

这让我的浏览器调用我的服务时不会出现 ssl 错误。

希望这对其他人有帮助:)

【讨论】:

  • 在您的 qn 中您说“自签名证书并被添加到受信任的根和个人(在当前用户和本地机器中)”
  • 是的,我错了。当我检查证书存储时,我忘了刷新视图,所以我没有注意到证书已被删除:(
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-10-03
  • 2014-11-15
  • 1970-01-01
  • 1970-01-01
  • 2018-11-26
  • 1970-01-01
相关资源
最近更新 更多