我有一个 WCF 服务,它目前托管在 NLB 后面的两台服务器上。这两个服务器地址是(例如)t001.mydomain.com
和t002.mydomain.com
NLB 地址是services.mydomain.com
。两者t001
都有t002
SSL 证书services.mydomain.com
我们将几项ASMX
服务转移到一个新WCF
模型中。当我第一次将服务放在两台服务器上时,我在使用 WSDL 时遇到了问题。一项服务正在运行,但其他服务给了我一个错误,他们无法创建安全连接,因为证书无效。
我将 URL 放入 Chrome 中,我注意到正在运行的服务具有这样的 WSDL URI:http://services.mydomain.com/services/service1.svc
而无法运行的服务的 URI 为http://t001.mydomain.com/services/service2.svc
. 所以我明白为什么证书对这些服务无效。
我为解决这个问题所做的(在查看了配置文件中的差异之后)将以下行添加到不工作的服务的配置文件中:
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
现在,我有点明白为什么会这样了。我知道它是一个解决方案,但我不知道它是否是我问题的解决方案。
这是解决这个问题的方法吗?有没有更好/更推荐的方法来解决这个问题?也许有人可以向我指出一个解释这一点的权威来源,因为我真的找不到一个。