2

現在、NLB の背後にある 2 つのサーバーでホストされている WCF サービスがあります。2 つのサーバー アドレスは (たとえば)t001.mydomain.comt002.mydomain.comで、NLB アドレスはservices.mydomain.comです。と の両方t001t002SSL 証明書があります。services.mydomain.com

ASMXいくつかのサービスを新しいWCFモデルに移行しました。最初に両方のサーバーにサービスを配置したとき、WSDL の消費に問題がありました。1 つのサービスは機能していましたが、他のサービスでは、証明書が無効なため、安全な接続を作成できないというエラーが表示されました。

URL を Chrome に入力したところ、動作していたサービスの WSDL URI が次のようになっていることに気付きました。http://services.mydomain.com/services/service1.svc動作していないサービスの URI はhttp://t001.mydomain.com/services/service2.svc. したがって、証明書がこれらのサービスに対して有効でなかった理由がわかります。

これを修正するために(構成ファイルの違いを調べた後)行ったことは、機能していなかったサービスの構成ファイルに次の行を追加することです。

<serviceHostingEnvironment multipleSiteBindingsEnabled="true" />

これで、なぜこれが機能するのかがわかりました。私はそれが解決策であることを知っていますが、それが私の問題の解決策であるかどうかはわかりません.

これはこの問題を回避する方法ですか?これを回避するためのより良い/より推奨される方法はありますか? 私が実際に見つけることができなかったので、誰かがこれを説明する信頼できる情報源を教えてくれるかもしれません。

4

1 に答える 1

2

証明書のため、これは機能しませんでした。ドメイン部分が異なります。見る

ホスト名について - 一部のシステムは、完全修飾ドメイン名を使用しないと正しく動作しません。他の人はそれほどうるさくありません。いずれの場合も、証明書のサブジェクト DN は、それが表すサービス、アプリケーション、またはサーバーを一意に記述する必要があります。

この投稿からクラスター環境での相互 WCF 証明書認証/SSL

詳細については、http ://technet.microsoft.com/en-us/library/dd439393(v=exchg.80).aspx を参照してください。

于 2013-04-15T05:41:57.823 に答える