Service Fabric 中每个环境的不同终结点证书
Different Endpoint Certificates Per Environment in Service Fabric
我有一个公开 SSL 端点的服务结构应用程序。我想根据环境使用不同的证书。我正在尝试使用 ApplicationMainfest.xml 文件中的参数来执行此操作,方法与我指定其他内容(例如实例计数)的方式相同。但是,参数似乎不适用于此。我想知道这是否真的是真的,是否有某些东西是您无法参数化的。还有,有什么办法可以根据环境指定不同的证书吗?
以下是我的应用程序清单中的相关部分:
<Parameter Name="CERTNAME" DefaultValue="MyCert" />
...
<Certificates>
<EndpointCertificate X509FindValue="..." Name="MyCert" />
<EndpointCertificate X509FindValue="..." Name="SVSSL" />
</Certificates>
<Policies>
<EndpointBindingPolicy EndpointRef="ServiceEndpointHttps" CertificateRef="[CERTNAME]" />
</Policies>
部署时,出现以下错误:
Register-ServiceFabricApplicationType:EndpointBindingPolicy 中的 CertificateRef“[CERTNAME]”无效。对应的ApplicationManifest中没有匹配的Certificate。
今天,证书值本身是可参数化的,但 Ref.因此,您无需更改引用或名称,而是参数化 X509FindValue 并保持端点绑定策略相同。
请注意,任何时候您 运行 进入您想要参数化但无法弄清楚如何去做的东西时,有几个选项。例如,考虑服务清单中的大多数内容,例如服务侦听的端口(如果您已对其进行静态配置)。还有其他一些解决方法:
- 创建不同的清单(服务清单或应用程序清单)并在为给定环境创建应用程序包时替换它们
- 在您的 build/deployment 阶段(例如 VSTS 中的 Tokenizer Task)使用某些东西将存根值替换为实际值,给定包正在为
- 将大部分端点配置内容移至 settings.xml 并通过正常的应用程序 parameter/override 行为替换这些值。但是,这意味着您要自己承担配置端点的工作。
我有一个公开 SSL 端点的服务结构应用程序。我想根据环境使用不同的证书。我正在尝试使用 ApplicationMainfest.xml 文件中的参数来执行此操作,方法与我指定其他内容(例如实例计数)的方式相同。但是,参数似乎不适用于此。我想知道这是否真的是真的,是否有某些东西是您无法参数化的。还有,有什么办法可以根据环境指定不同的证书吗?
以下是我的应用程序清单中的相关部分:
<Parameter Name="CERTNAME" DefaultValue="MyCert" />
...
<Certificates>
<EndpointCertificate X509FindValue="..." Name="MyCert" />
<EndpointCertificate X509FindValue="..." Name="SVSSL" />
</Certificates>
<Policies>
<EndpointBindingPolicy EndpointRef="ServiceEndpointHttps" CertificateRef="[CERTNAME]" />
</Policies>
部署时,出现以下错误: Register-ServiceFabricApplicationType:EndpointBindingPolicy 中的 CertificateRef“[CERTNAME]”无效。对应的ApplicationManifest中没有匹配的Certificate。
今天,证书值本身是可参数化的,但 Ref.因此,您无需更改引用或名称,而是参数化 X509FindValue 并保持端点绑定策略相同。
请注意,任何时候您 运行 进入您想要参数化但无法弄清楚如何去做的东西时,有几个选项。例如,考虑服务清单中的大多数内容,例如服务侦听的端口(如果您已对其进行静态配置)。还有其他一些解决方法:
- 创建不同的清单(服务清单或应用程序清单)并在为给定环境创建应用程序包时替换它们
- 在您的 build/deployment 阶段(例如 VSTS 中的 Tokenizer Task)使用某些东西将存根值替换为实际值,给定包正在为
- 将大部分端点配置内容移至 settings.xml 并通过正常的应用程序 parameter/override 行为替换这些值。但是,这意味着您要自己承担配置端点的工作。