我们有一个由一侧一个WCF Web服务,而在另一侧的智能客户端的解决方案。WCF通过HTTPS - >代理 - > HTTP
通常情况下,我们成立了HTTPS在Web服务器上的web服务,以便客户端和服务器之间的通信发生了HTTPS。
我们的一个客户但是有一个代理服务器之间,从他们的SSL负载条传入HTTPS请求,并转发普通HTTP请求到Web服务器:
客户端> HTTPS>代理> HTTP> Web服务器
问题是我们使用WsHttpBinding来允许我们通过SSL与WCF进行通信。通常,我们在客户端和服务器上使用该绑定,并且没有问题。
但由于Web服务实际收到的HTTP请求,我们不能使用的WSHttpBinding(需要HTTPS)。但是我们必须使用客户端的HTTPS。
当然不过,WCF要求客户机和服务器之间相匹配的绑定。所以,我们有点卡住,我不能找到解决这个问题的好办法:
- 我们不能将客户端设置为使用HTTP出于安全原因
- 我们可以设置服务接受HTTP请求,但客户端将无法与之通信。
有一定的设置,可以覆盖这个要求?
您是如何确保请求到达Web服务器的,并且它没有HTTPS但HTTP?当你说智能客户端时,它是什么?一个浏览器或其他东西? – Anu
那么,我可以看到Web服务器通过HTTP进入的请求,我还可以在WCF日志中看到报告错误的URL,即HTTP。此外,代理服务器的人确认HTTPS被剥离为HTTP并通过HTTP转发到网络服务器。智能客户端是使用ClickOnce部署的.NET Windows窗体应用程序。所以它是连接到WCF服务的Windows窗体应用程序。 – Aaron