0

我们有一个解决方案,它由一侧的 WCF Web 服务和另一侧的智能客户端组成。

通常,我们在 web 服务器上为 web 服务设置 HTTPS,以便客户端和服务器之间的通信通过 HTTPS 进行。

然而,我们的一位客户在中间有一个代理服务器,它从他们的 SSL 有效负载中去除传入的 HTTPS 请求,并将一个普通的 HTTP 请求转发到网络服务器:

客户端 > HTTPS > 代理 > HTTP > 网络服务器

问题是我们使用 WsHttpBinding 来允许我们通过 SSL 与 WCF 通信。通常我们在客户端和服务器上都使用该绑定并且没有问题。

但是由于webservice实际上是接收到一个HTTP请求,所以我们不能使用WsHttpBinding(需要HTTPS)。但是我们必须从客户端使用 HTTPS。

但当然,WCF 要求客户端和服务器之间的绑定要匹配。所以我们有点卡住了,我找不到解决这个问题的好方法:

  • 出于安全原因,我们无法将客户端设置为使用 HTTP
  • 我们可以将服务设置为接受 HTTP 请求,但客户端将无法与之通信。

是否有某种设置可以满足此要求?

4

1 回答 1

0

使用wcf 绑定转换器从您的 wshttpbinding 获取自定义绑定。然后将自定义绑定从 https 更改为 http 元素。

于 2013-06-25T14:48:27.343 回答