在 WCF 中是否有可能在 IIS 的同一应用程序池中拥有一个带有 SSL 和客户端证书的端点以及一个带有另一个 SSL 合同但没有客户端证书的端点?如果这是可能的,这应该以某种方式配置添加服务或端点级别?
更新
如果我将 IIS SSL 设置设置为需要客户端证书,则没有客户端证书的服务将无法工作。
在 WCF 中是否有可能在 IIS 的同一应用程序池中拥有一个带有 SSL 和客户端证书的端点以及一个带有另一个 SSL 合同但没有客户端证书的端点?如果这是可能的,这应该以某种方式配置添加服务或端点级别?
更新
如果我将 IIS SSL 设置设置为需要客户端证书,则没有客户端证书的服务将无法工作。
由于绑定是端点的一部分,我看不出为什么不能像你说的那样用 2 个不同的端点配置服务。应用程序池与绑定无关。
如果您在尝试这样做时遇到特定问题,发布它们会很有帮助。
我使用 web.config 中的位置标签解决了这个问题,因此带有客户端证书的服务被放置在不同的目录中并配置如下:
<location path="WithoutClientCertificate">
<system.webServer>
<security>
<access sslFlags="Ssl" />
</security>
</system.webServer>
</location>
<location path="WithClientCertificate">
<system.webServer>
<security>
<access sslFlags="Ssl, SslNegotiateCert, SslRequireCert" />
</security>
</system.webServer>