我在Azure中设置Service Fabric群集,并希望通过https运行Web API(使用.NET Core)。我想使用我签名的CA签名通配符(* .mydomain.com)来访问此API。但是我在创建集群时使用它的地方有点困惑,是集群还是客户端证书?我正在考虑客户端证书,但文档说明这是针对管理工具(即资源管理器),所以我不确定如何继续。
是的,我已经阅读了大量的帖子和资源,但我仍然觉得这很令人困惑。
答案 0 :(得分:1)
有三种证书类型。以下是它们的摘要概述。
群集证书用于Explorer端点,并部署到主节点。因此,如果您将*.mydomain.com
通配符证书添加到那里,并将CNAME某些内容(例如manage.mydomain.com
)添加到[yourcluster].[region].cloudapp.azure.com
,那么当您点击管理端点时,证书将会呈现给网络浏览器。
反向代理SSL证书部署到每个节点,并在使用Service Fabric的内置反向代理功能时使用。在这种情况下,这是您点击https://api.mydomain.com/YourAppName/YourService/Resource
时所使用的内容(其中api.mydomain.com
是另一个CNAME到yourcluster.region.cloudapp.azure.com
)。这可用作运行您自己的反向代理或其他卸载层(Application Gateway,IIS,nginx,API Management等)的替代方法。
客户端证书用于代替管理端点的Azure Active Directory身份验证。因此,您无需管理AAD中的用户(使用_Cluster
AAD应用程序和管理员/只读角色),而是通过向受信任的用户分发管理证书(管理员或只读)来管理访问权限。
您还可以在证书翻转情况下使用这些证书的辅助副本。
答案 1 :(得分:0)
我们使用它的方式是在服务结构集群前配置应用程序网关,并将Web证书上载到Application Gateway(并且dns指向应用程序网关)在该场景中,SSL在应用程序网关处终止。 / p>
另一种可能性是在服务结构集群中的每个节点上终止SSL,在这种情况下,您需要确保将证书部署到每个节点。
至于集群与客户端证书的困境,我也很困惑,但我认为答案都不是。客户端证书不确定,因为在运行service fabric admin ps脚本时,此证书用于将您标识为admin。
我认为它也不是集群证书,这里是MS文档说它用于什么:
需要群集和服务器证书来保护群集并防止对群集进行未经授权的访问。它以两种方式提供集群安全性: 群集身份验证:验证群集联合的节点到节点通信。只有能够使用此证书证明其身份的节点才能加入群集。 服务器身份验证:向管理客户端验证群集管理端点,以便管理客户端知道它正在与真实群集通信。此证书还通过HTTPS为HTTPS管理API和Service Fabric Explorer提供SSL。
就我所读到的内容而言,此证书用于内部群集身份验证,并且还可以使用它来使您的管理工具可以确保它们正在使用正确的群集。