I have a Silverlight application that connects to a WCF service. In the basic configuration I'm used to, there is no problem connecting this application to its corresponding WCF service.
However, recently one of my clients started using the Apache reverse proxy. This proxy server is a public server and is used only to encrypt HTTP traffic over SSL (HTTPS) between the client and him. This proxy server transfers all traffic from it to the actual web server on which my application is hosted. The traffic between the public proxy and the IIS server is just HTTP.
Thus, the traffic flow is as follows: End user browser --- HTTPS ----> Open reverse proxy ----- HTTP ----> IIS server hosting the WCF service.
Reverse proxy and IIS are on two separate servers.
I cannot get a Silverlight application to function normally. I'm not sure how to configure the endpoints? I get problems when I use the public proxy address as my final address.
A Silverlight application typically has this configuration:
<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>
Please note that I use, and I have an endpoint address pointing to the public HTTPS address of the reverse proxy.
Did I miss something? Is there any additional information for setting up a proxy server? Any workarounds that will force my Silverlight client to connect to the service?
source share