Service Fabric ApplicationManifest参数化certificaterefs?

时间:2016-12-19 09:54:18

标签: ssl azure-service-fabric

我有一个包含多个SF服务的解决方案。其中一些使用HTTPS端点,因此我有这些规范(详细信息隐藏或更改)

我们是多个开发人员,我们使用自签名证书进行本地部署。

<Parameters>
    <Parameter Name="Api_SslCertHash" DefaultValue="<my-thumbprint-here!>" />
</Parameters>

<ServiceManifestImport>
    <ServiceManifestRef ServiceManifestName="SomeAppPkg" ServiceManifestVersion="1.0.0" />
    <Policies>
      <EndpointBindingPolicy EndpointRef="ServiceEndpointHttps" CertificateRef="mycert" />
    </Policies>
</ServiceManifestImport>

然后

<Certificates>
  <EndpointCertificate X509FindValue="[Api_SslCertHash]" Name="mycert" />
</Certificates>

现在的问题是我们已将此文件签入Git,因为每个人都有自己的自签名证书(不是:我不知道是否必须这样,也许我们可以共享证书,问题仍然存在)每个开发人员的指纹不同。

我的问题是:是否可以将指纹放在环境变量中,或者从其他来源获取,而不是在ApplicationManifest中更改它。我意识到在集群环境中可能很难,但也许在本地部署时会这样做?

我对ServiceManifest有类似的要求,我希望有不同的端口号。我知道我可以在Local.1Node.xml中覆盖它,但是能够从外部获取它会很好。

1 个答案:

答案 0 :(得分:0)

我不明白为什么你不能像上一个例子那样使用变量,但这并不能解决你的多个开发人员问题。

处理此问题的正确方法是生成证书,将其签入源代码管理并让其他人使用相同的证书。实际上,如果您在生产中设置了一个安全集群,那么任何想要查看资源管理器的人都需要在他们的计算机上安装相同的证书才能进行身份验证。