4

MVC3 プロジェクトを作成し、デプロイ用の Azure クラウド サービスを Azure Web ロールにアタッチしました。PRODUCTION と TEST 用に 2 つの .cscfg ファイルを作成しました。これら 2 つのサービスには、適切な .cscfg ファイルで設定されている、異なる拇印を持つ異なる SSL 証明書があります。私の役割では、https エンドポイントをセットアップし、SSL 証明書名の正しい構成設定を選択しました。

問題 -- すべての .cscfg ファイルにまったく同じ SSL サムプリントが含まれていない限り、Visual Studio は Azure の Web ロールに発行しません。.cscfg ファイル (PRODUCTION と TEST 用) に証明書の異なる拇印がある場合、次のように言って公開を拒否します。

エラー: 証明書: 'SSLCert' 拇印付き: 役割: XXXXX がクラウド サービス: XXXXX にアップロードされていません

個別の SSL 証明書を許可するように構成をセットアップするにはどうすればよいですか?

4

3 に答える 3

2

ここで私の質問に対する Igorek の回答を使用してこれを実装しました。msbuild 変換ほど強力ではありませんが、実装が簡単です。

解決策は、各サービス構成に対応する .csdef ファイルを作成することです。次に、Azure プロジェクトのビルド前の手順で、正しい .csdef ファイルをメインの .csdef ファイルにコピーします。これらのカスタム .csdef ファイルはソリューションに追加できますが、テキスト エディターを使用して手動で行う必要があります。

構成固有の .csdef ファイルにはそれぞれ、テスト用と運用用の両方の SSL 証明書が含まれていますが、構成に正しいものを使用するようにエンドポイント定義が設定されています。これが必要なのは、Visual Studio が .cscfg ファイルで参照されている証明書が .csdef ファイルにないというエラーを出すためです。これは、Azure portal 上のテスト サービスと運用サービスの両方に両方の SSL 証明書をアップロードする必要があることを意味しますが、デプロイの完了後に正しい証明書が使用されます。

于 2012-07-19T21:40:41.470 に答える
2

これは Windows Azure SDK の既知の問題であり、現在対応中です。修正プログラムの入手可能性について具体的な詳細を持っていないため、この点についてコメントすることはできません.

上記では、パッケージを手動で公開するためのいくつかの回避策がありますが、それでもツールセット内で問題を解決したい場合は、以下で説明するように、ビルド ステップ中に CSDEF/CSCFG 構成ファイルを変換できます。

http://blogs.msdn.com/b/philliphoff/archive/2012/07/02/transform-windows-azure-service-model-files-during-packaging.aspx

構成ファイルを変換したら、同じビルド/公開手順を引き続き使用でき、手動で公開する必要はありません。

于 2012-07-19T19:14:53.560 に答える
0

私が使用する単純なソリューションは、ソリューション内に 2 つの個別のクラウド プロジェクトを作成することです。それらを「Manual Deploy」というフォルダーに入れました

運用証明書を使用して運用環境に公開する場合は、構成ファイルに適切なセットアップが含まれているクラウド プロジェクトを公開します。QAも同様。ローカル開発テスト用に別のクラウド プロジェクトも作成しました。クラウド プロジェクトは簡単に作成できます。実際の webrole プロジェクトを各クラウド プロジェクトに関連付けるだけで、ビジネスを開始できます。

于 2012-11-07T19:50:30.737 に答える