【问题标题】:Microsoft Service Fabric Cluster certificate creation and configurationMicrosoft Service Fabric 群集证书创建和配置
【发布时间】:2023-03-02 22:26:01
【问题描述】:

在阅读了几天的大量文档但没有任何成功之后,我想我会在这里问这个问题以获得一些指导。我正在尝试设置一个 Azure Service Fabric 集群并通过 Powershell 访问它,以允许我远程管理应用程序,并且文档中似乎有一个巨大的漏洞,也许对于像我这样的完全新手来说!

我有一个需要通过在移动设备上运行的 Angular SPA 访问的 Web API,因此我假设端点需要是公共的并且可以在没有挑战的情况下访问,因为安全性是通过 JWT 令牌管理的。

在我看来,生产环境的部署应该包括几个阶段:-

  1. 主/服务器证书创建
  2. 创建管理员客户端证书
  3. Azure 门户部署
  4. 开发机器配置以允许通过 Powershell 访问集群

现在我可能误解了文档,所以请随时纠正我。

到目前为止我做了什么:-

  1. 我使用 Microsoft 自签名创建了我的集群 证书设施作为我的主/服务器证书。
  2. 我有一个由我安装的 CA 颁发的通配符证书 作为服务器上的管理员证书。
  3. 我配置了一个映射我的 *.cloudapp.azure.com 的 CNAME 条目 到子域上。

我无法以任何形状或形式连接到我的群集,我无法使用 Connect-ServiceFabricCluster 通过 Powershell 进行连接,也无法浏览到它指出访问被拒绝的 Service Fabric Explorer:/

任何人都可以为我提供一些关于启用连接所需遵循的过程的指导,或提供指向一些更详细的文档的链接,这些文档实际上提供了有关该过程的有意义的说明。

【问题讨论】:

    标签: azure-service-fabric


    【解决方案1】:

    在过去的几天里,这一直让我发疯,所以我发布了这个分步指南,以帮助任何遭受同样痛苦的人。

    请注意:这些说明使用门户为您创建的内置 Microsoft 自签名证书,生产系统应具有有效的 CA 颁发的证书,我还没有尝试过!

    通过门户创建新的 Service Fabric 集群

    创建一个新的资源组

    1. 点击左侧菜单中的资源组,然后点击“添加”按钮
    2. 选择订阅
    3. 输入资源组名称
    4. 选择“北欧”地区
    5. 点击“查看+创建”,然后点击“创建”

    创建新的 Service Fabric 群集

    1. 转到您的新资源组
    2. 点击“添加”按钮
    3. 在搜索中输入“Service Fabric”并选择“Service Fabric Cluster”
    4. 点击页面底部的“创建”按钮

    配置 Service Fabric 集群

    基础知识

    1. 输入新集群的名称
    2. 选择所需的 O/Select
    3. 输入您的用户名和密码(确保 Google 驱动器文档已更新详细信息)
    4. 选择相关订阅
    5. 从下拉列表中选择您的新资源组。
    6. 从位置下拉菜单中选择“北欧”。
    7. 点击“确定”按钮

    集群配置

    1. 选择节点类型计数为 1(除非您要配置不同类型的集群)
    2. 点击“节点类型”部分
    3. 输入“节点类型名称”,例如初级
    4. 选择相关的“Durability Tier”无状态 Web api 在 Bronze 是可以的
    5. 选择所需的“虚拟机大小”
    6. 除非生产要求 5 个或更多节点,否则请选择“单节点集群”。
    7. 将“自定义端点”更改为 80,8081
    8. 勾选“启用反向代理”
    9. 点击“确定”按钮
    10. 再次点击“确定”按钮

    安全

    1. 选择基本“配置类型”
    2. 选择“CodeClinic”密钥保管库
    3. 输入您的证书名称
    4. 点击“确定”按钮

    总结

    1. 假设验证通过,请单击信息框中包含的“此链接”链接。
    2. 将打开一个新的浏览器选项卡,底部有一个“下载为证书”按钮,单击此按钮。
    3. 关闭新标签,然后点击“创建”按钮

    现在创建和部署您的集群需要一些时间,只需 20 到 30 分钟!

    通过单击 Key Vault 刀片中的“访问策略”菜单选项,然后单击标有“单击以显示高级访问策略”的链接,检查以确保您的 Key Vault 具有相关的“高级访问属性”设置。

    确保选中以下选项:-

    1. 启用对 Azure 虚拟机的访问以进行部署
    2. 启用对 Azure 资源管理器的访问以进行模板部署

    将证书安装到任何开发机器上

    1. 找到下载到您机器上的 pfx 文件
    2. 在 Windows 资源管理器中双击文件
    3. 选择“当前用户”点击“下一步”按钮
    4. 点击“下一步”按钮
    5. 点击“下一步”按钮,未分配密码
    6. 点击“将所有证书放入以下存储”
    7. 点击“浏览”并选择“个人”商店
    8. 点击“下一步”按钮
    9. 点击“完成”按钮

    测试连接

    返回 Azure 门户并单击新创建的集群概览并等待更新消息消失且节点变为可用,然后再继续操作!

    转到您的 Azure Key Vault 并找到您的证书指纹并将其复制并粘贴到记事本中以供稍后使用。

    Service Fabric Explorer

    在 Azure 门户中找到 Service Fabric 服务,然后在概览页面中单击“Service Fabric Explorer”链接。

    1. 在 Chrome 中,您将收到消息“您的连接不是私密的”/“NET::ERR_CERT_AUTHORITY_INVALID”
    2. 点击页面底部的“继续..”链接
    3. 您将看到一个弹出窗口,要求您选择要使用的证书

    注意:我在这里遇到了一些奇怪的行为,我强烈建议此时关闭浏览器并清除缓存。

    Powershell ISE 命令连接

    CONNECTION_ENDPOINT 可以从集群概述边栏选项卡上的 Azure 门户中检索 THUMBPRINT 应该在此过程的早期复制和粘贴,但无法从 Key Vault 中获取。

    Connect-ServiceFabricCluster -ConnectionEndpoint <CONNECTION_ENDPOINT> `
      -KeepAliveIntervalInSec 10 `
      -X509Credential -ServerCertThumbprint <THUMBPRINT> `
      -FindType FindByThumbprint -FindValue <THUMBPRINT> `
      -StoreLocation CurrentUser -StoreName My
    

    将以上内容复制并粘贴到 Powershell ISE 命令窗口中的脚本窗口中,该窗口可通过工具栏按钮访问,每行末尾的字符决定回车。

    【讨论】:

    • 也许在您尝试过之后发布这个答案?祝你好运!
    【解决方案2】:

    我可以理解您无法从您的应用程序甚至从集群 url 连接到集群,对吧? 那么背后的原因如下 1. 为健康探测和后端池配置从服务清单到负载均衡器的确切端口号(健康探测由后端池消耗)。虽然在创建期间如果您已经在集群窗口中检查了安全选项卡,那么您可以找到在集群创建期间配置的证书详细信息。

    2。在此之后尝试使用以下访问 https://custer url:服务清单或负载均衡器配置的端口号/controllerRoute/endpoint

    【讨论】:

      猜你喜欢
      • 2015-08-08
      • 2017-04-06
      • 1970-01-01
      • 2019-06-16
      • 1970-01-01
      • 2018-09-16
      • 2020-05-06
      • 2020-12-26
      • 2016-12-16
      相关资源
      最近更新 更多