2017-02-08 15 views
2

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> 

、私は次のエラーを取得する: 登録-ServiceFabricApplicationType:CertificateRef '[CERTNAME]' EndpointBindingPolicyでは無効です。対応するApplicationManifestに一致する証明書がありません。

答えて

4

今日、証明書の値自体はパラメータ設定可能ですが、Ref。したがって、参照または名前を変更する代わりに、X509FindValueをパラメーター化し、エンドポイントバインディングポリシーを同じに保ちます。

メモとして、パラメータ化したいが何かを実行するときはいつでも、いくつかのオプションがあります。たとえば、サービスマニフェストの大部分は、サービスがリッスンするポート(静的に構成されている場合)などです。

  1. は異なるマニフェスト(サービスマニフェストまたはアプリケーションマニフェスト)を作成し、ビルド/展開の段階で何かを使用して、与えられた環境
  2. 用アプリケーションパッケージを作成するときにそれらを置き換える(のような:あり、この周りに他のいくつかの方法がありますVSTS内のTokenizer Task)スタブ値を、パッケージが作成されている環境の実際の値に置き換えます。
  3. ほとんどのエンドポイント構成情報をsettings.xmlに移動し、通常のアプリケーションパラメータ/ 。ただし、エンドポイントを自分で設定する作業が必要になります。
+0

私はよく分かりません。私が言及したように、これはApplicaiton Manifestにあり、これはうまく動作するように見える他のパラメータでいっぱいです。 – AdamC

+0

ああ私は誤解して、私は私の答えを更新します。 – masnider

関連する問題