ServiceFabric Local Cluster中的HTTPS通信



这是我的设置

IdentityServer 4 作为无状态可靠 ASP.NET 核心服务。 一个WebAPI作为可靠的 ASP.NET 核心服务。

将它们与JS客户端一起使用,它现在正在使用HTTP。问题出在HTTPS上。WebAPI 需要通过 htttps [is4URL].well-known/openid-configuration 请求 openID 配置。我收到此错误

系统无效操作异常: IDX10803: 无法获取 配置自: "https://localhost:9999/.well-known/openid-configuration"。--->System.IO.IOException: IDX10804: 无法从以下位置检索文档: "https://localhost:9999/.well-known/openid-configuration"。--->System.Net.Http.HttpRequestException:发送时出错 请求。---> System.Net.WebException:底层连接 已关闭:无法为 SSL/TLS 建立信任关系 安全通道。--->系统.安全.身份验证.身份验证异常:远程 根据验证过程,证书无效。

任何人都可以帮助我使用 SF 本地群集管理器在本地主机中完成这项工作吗?

谢谢

这是我的两分钱,但需要验证...

我假设您已使用以下文章或类似文章创建了自签名证书,但该证书具有相同的属性。

https://learn.microsoft.com/en-us/azure/app-service-web/web-sites-configure-ssl-certificate

这意味着无法通过实际的 CA 验证证书。当然,使用自签名证书这是不可能的。

现在,当你将证书上传到 Azure 应用服务时,它会安装在当前用户 - 我的商店中。使用自签名证书时,还需要将其安装在本地计算机根存储中。

然后,计算机的证书颁发机构可以验证该证书是否有效。(如果我错了,可能是安全专家可以纠正我,但这是我的理论)。我在本地托管的 Windows 服务器上进行了相同的设置,其中自签名证书安装在根证书存储和个人存储中,并且该应用程序可以正常工作。这就是我相信这种情况发生的原因。

所以这部分需要验证。下面是介绍如何在 Azure 应用服务中执行此操作的文章。

https://learn.microsoft.com/en-us/azure/cloud-services/cloud-services-configure-ssl-certificate-portal

同样,这只是一个需要验证的理论。

:)编辑:

我刚刚对此进行了测试,情况确实如此。在云服务中,您可以按照上面的第二个链接所示进行操作,并创建在适当存储中安装证书的 Web 作业。

对于 Azure 应用服务,不幸的是,你无权访问根存储。它必须安装在当前用户的个人存储中。这意味着自签名证书将不起作用,您必须购买真正的证书。:(我认为这是对Microsoft的真正赞美。为什么我需要为开发/测试环境支付真实证书的费用? (吼叫)

对于 Service Fabric,你将需要了解如何在根存储和个人存储中安装证书(如果可能)。以下是可能有用的链接

http://ronaldwildenberg.com/running-an-azure-service-fabric-cluster-locally-on-ssl/

https://learn.microsoft.com/en-us/azure/service-fabric/service-fabric-cluster-security-update-certs-azure

希望这有帮助。

最新更新