現在、NLB の背後にある 2 つのサーバーでホストされている WCF サービスがあります。2 つのサーバー アドレスは (たとえば)t001.mydomain.com
とt002.mydomain.com
で、NLB アドレスはservices.mydomain.com
です。と の両方t001
にt002
SSL 証明書があります。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" />
これで、なぜこれが機能するのかがわかりました。私はそれが解決策であることを知っていますが、それが私の問題の解決策であるかどうかはわかりません.
これはこの問題を回避する方法ですか?これを回避するためのより良い/より推奨される方法はありますか? 私が実際に見つけることができなかったので、誰かがこれを説明する信頼できる情報源を教えてくれるかもしれません。