我有一个连接到WCF服务的Silverlight应用程序。在我习惯的基本配置下,将该应用程序连接到其相应的WCF服务没有问题。
但是,最近,我的一位客户开始使用Apache反向代理。该代理是公共服务器,仅用于通过客户端与其之间的SSL(HTTPS)加密HTTP通信。该代理将所有流量从它传递到托管我的应用程序的实际Web服务器。公共代理和IIS服务器之间的流量只是纯HTTP。
因此流量如下所示: 最终用户浏览器--- HTTPS ---->公共反向代理----- HTTP ---->承载WCF服务的IIS服务器。
反向代理和IIS位于两台单独的服务器上。
我无法使Silverlight应用程序正常运行。我不确定如何配置端点?每当使用公共代理服务器的地址作为端点地址时,我都会遇到问题。
Silverlight应用程序通常具有以下配置:
<configuration>
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="BasicHttpBinding_IPOTemplateEditorSrv" maxBufferSize="2147483647"
maxReceivedMessageSize="2147483647">
<security mode="TransportWithMessageCredential" />
</binding>
</basicHttpBinding>
</bindings>
<client>
<endpoint address="https://public-reverse-proxy-url/POTemplateEditorSrv.svc"
binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IPOTemplateEditorSrv"
contract="POEditorSrvRef.IPOTemplateEditorSrv" name="BasicHttpBinding_IPOTemplateEditorSrv" />
</client>
</system.serviceModel>
</configuration>
Run Code Online (Sandbox Code Playgroud)
请注意,我正在使用,并且端点地址指向反向代理的公共HTTPS地址。
我有什么想念的吗?可能还有其他信息可配置代理吗?有什么解决方法可以使我的Silverlight客户端连接到该服务?