如何在 Azure Service Fabric 中的自托管 Web API 上配置 SSL

Posted

技术标签:

【中文标题】如何在 Azure Service Fabric 中的自托管 Web API 上配置 SSL【英文标题】:How to configure SSL on a self hosted Web API in Azure Service Fabric 【发布时间】:2016-05-20 07:51:50 【问题描述】:

我已关注 this article 在 Azure 服务结构无状态服务中设置 OWIN 自托管 Web API。

我还找到了this article,它描述了在 Azure 服务结构服务中设置 HTTPS 端点。

  ...
  <Certificates>
    <EndpointCertificate Name="TestCert1" X509FindValue="FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF F0" X509StoreName="MY" />  
  </Certificates>
  ...

如何在 Service Fabric 中为我的 WebAPI 服务配置 SSL 证书?当我在 Azure 门户中访问我的 Service Fabric 集群时,“证书”文本框显示为灰色。

在其他 Azure 服务中,它们通常是上传证书的区域,然后应用程序可以引用这些证书。

我是否需要手动将我的证书包含在 Service Fabric 包中并将其安装到证书存储中才能被引用?

此外,azure 是否为 *.cloudapp.azure.com 提供可在开发期间使用的 HTTPS 证书?

【问题讨论】:

不是这个吗? azure.microsoft.com/en-us/documentation/articles/… 谢谢 - 我会复习的。 【参考方案1】:

要使用 SSL 保护 SF 中的 OWIN 自托管 API,您可以按照我编译的不同脚本和示例配置进行操作:

https://gist.github.com/andersosthus/c483eaf8630219c789de

基本流程是这样的:

    将证书上传到 KeyVault (uploadCertToKeyVault.ps1) 将证书安装到您的 SF VM (installCertOnVm.ps1) 配置 ServiceManifest 的 Endpoint 部分 配置应用程序清单的 ManifestImport 和 Policy 部分

第 1 步和第 2 步可以跳过,但随后您需要登录到每个 VM 并手动安装证书。

对于 VMSS: 要将 KeyVault 中的证书安装到带有 ARM 的 VMSS,请执行以下操作: 在您的 VMSS 模板中,在 OSProfile 部分下,有一个名为 secrets 的部分。这里可以配置sourcevault,添加要安装的证书。

这与所有其他 ARM 模板一样工作。您可以稍后将证书添加到此列表并重新部署模板。然后证书将安装在您的 VMSS 上。

【讨论】:

不错的解决方案,这是针对 vm 规模集的吗?当规模集决定扩展时会发生什么 - 我是否需要将脚本附加到某个东西以自动运行? 这适用于预 VMSS。对于 VMSS,您需要将证书添加到 VMSS 定义的 Secrets 部分,然后它将在所有计算机上进行配置。更新证书也是如此,只需更新 VMSS 定义,它就会将其推广到所有机器。 我已经用新的秘密更新了 VMSS 定义,但是当我尝试部署它时,我收到一个关于正在使用的 VHD 的错误 - 请参阅此处:***.com/q/37504102/287610 您有另一个要点表明您只需运行一个 PS 脚本即可将密钥直接添加到每个 VM。这最终对我有用——我在你的要点上发表了一条评论,展示了如何使用 VMSS cmdlet 来做到这一点。 :) 非常感谢!但我仍然很想通过 ARM 模板完成这项工作...... 嗨,拉斯。谢谢。我已经用关于 ARM VMSS 和证书的信息更新了我上面的答案:)

以上是关于如何在 Azure Service Fabric 中的自托管 Web API 上配置 SSL的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 TeamCity 在 Azure Service Fabric 中自动部署 Docker 容器?

Azure Service Fabric - 如何配置容器被强制终止之前的时间间隔

Azure Service Fabric 与 Azure Service Fabric Mesh

如何从 Service Fabric Mesh 连接到 Azure Cosmos DB

Azure Service Fabric 多租户

Azure Service Fabric - 外部状态管理器