【发布时间】:2021-06-09 23:37:08
【问题描述】:
我有一个标准的 n 层应用程序 (.Net 4.7.2),其中一个控制台服务器和一个 WinForms 应用程序都在同一台机器上运行。客户端和服务器通过 WCF 进行通信。
如果我在地址绑定中使用 443 以外的任何端口,当我尝试与服务器通信时,我会在客户端上收到 CommunicationException。不指定端口或明确指定 443 没有问题。
错误信息是;
发出 HTTP 请求时出错
https://localhost:44333/SecurityTokenService/issue/wstrust/mixed/anonymous。 这可能是因为服务器证书不是 在 HTTPS 情况下使用 HTTP.SYS 正确配置。这也可以 是由客户端和客户端之间的安全绑定不匹配引起的 服务器。
这是我的客户端绑定供参考
<endpoint
address="https://localhost:44333/SecurityTokenService/issue/wstrust/mixed/anonymous"
binding="customBinding"
bindingConfiguration="MySecurityTokenEndpointBinding"
contract="System.ServiceModel.Security.IWSTrustChannelContract"
name="SecretTokenAuthenticationEndPoint" />
更新:我自己继续调查该问题并启用了 WCF 跟踪。我可以从跟踪日志中看到警告“安全协议无法保护传出消息”
【问题讨论】: