我有一个WCF服务,目前托管在NLB后面的两个服务器上。这两个服务器地址是(例如) t001.mydomain.com和t002.mydomain.com,并且NLB地址是services.mydomain.com。t001和t002都有用于services.mydomain.com的SSL证书。
我们将几个ASMX服务迁移到了新的WCF模型。当我第一次将服务放在两台服务器上时,我在使用WSDL时遇到了问题。一个服务正在工作,但其他服务给我一个错误,它们无法创建安全连接,因为证书无效。
我把URL放到Chrome中,我注意到正常工作的服务有一个这样的WSDL:http://services.mydomain.com/services/service1.svc,而没有工作的服务有一个http://t001.mydomain.com/services/service2.svc的URI。所以我明白了为什么证书对这些服务无效。
为了解决这个问题(在查看了配置文件中的差异之后),我将以下行添加到无法工作的服务的配置文件中:
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
现在,我有点理解为什么这是可行的了。我知道这是一个解决方案,但我不知道这是否是我问题的解决方案。
这是解决这个问题的方法吗?有没有更好的/更推荐的方法来解决这个问题?也许有人可以给我一个权威的来源来解释这一点,因为我真的找不到一个。
发布于 2013-04-15 13:41:58
这不起作用,因为cert。域部分不同。看见
关于主机名的一件事-一些系统将无法正常工作,除非您使用完全限定的域名。其他人就没那么挑剔了。在任何情况下-证书的主题DN都应该唯一地描述它所代表的服务、应用程序或服务器。
从这篇文章中,Mutual WCF certificate authentication/SSL in cluster environment
更多细节可以在这里找到:http://technet.microsoft.com/en-us/library/dd439393(v=exchg.80).aspx
https://stackoverflow.com/questions/16008086
复制相似问题