我有一个连接到 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>
请注意,我正在使用并且我的端点地址指向反向代理的公共 HTTPS 地址。
我错过了什么吗?是否有任何其他信息可以配置代理?任何可以让我的 Silverlight 客户端连接到服务的解决方法?