我有一個連接到WCF服務的Silverlight應用程序。在我習慣的基本配置下,將此應用程序連接到相應的WCF服務沒有任何問題。WCF背後的公共反向代理,用於流量加密
但是,最近,我的一個客戶開始使用Apache反向代理。此代理是公共服務器,它僅用於通過客戶端和它之間的SSL(HTTPS)加密HTTP通信。此代理將所有流量從它傳遞到承載我的應用程序的實際Web服務器。公共代理和IIS服務器之間的通信只是簡單的HTTP。
所以交通流量這樣的:承載WCF服務 最終用戶瀏覽器--- HTTPS ---->公共反向代理----- HTTP ----> 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客戶端連接到服務的解決方法?
當您在瀏覽器中輸入URL(https://public-reverse-proxy-url/POTemplateEditorSrv.svc)時,您可以直接訪問服務嗎? – boris
是的,我可以。我實際上已經嘗試過,並且在訪問該頁面時看到由WCF生成的頁面沒有任何問題。當我這樣做的時候,我得到的頁面告訴我「你已經創建了一個服務,爲了測試這個服務,你需要創建一個客戶端並用它來調用服務,你可以使用svcutil.exe來完成。 ..(我截斷了我得到的其他消息)「 –
當您嘗試從Silverlight進行連接時,您會看到什麼樣的問題? 我的下一步將是在IE9(F12)或Fiddler中啓動開發人員工具,並查看Silverlight客戶端生成的請求(如果有)以及它得到的響應(如果有)。 – boris