我們有一個由一側一個WCF Web服務,而在另一側的智能客戶端的解決方案。WCF通過HTTPS - >代理 - > HTTP
通常情況下,我們成立了HTTPS在Web服務器上的web服務,以便客戶端和服務器之間的通信發生了HTTPS。
我們的一個客戶但是有一個代理服務器之間,從他們的SSL負載條傳入HTTPS請求,並轉發普通HTTP請求到Web服務器:
客戶端> HTTPS>代理> HTTP> Web服務器
問題是我們使用WsHttpBinding來允許我們通過SSL與WCF進行通信。通常,我們在客戶端和服務器上使用該綁定,並且沒有問題。
但由於Web服務實際收到的HTTP請求,我們不能使用的WSHttpBinding(需要HTTPS)。但是我們必須使用客戶端的HTTPS。
當然不過,WCF要求客戶機和服務器之間相匹配的綁定。所以,我們有點卡住,我不能找到解決這個問題的好辦法:
- 我們不能將客戶端設置爲使用HTTP出於安全原因
- 我們可以設置服務接受HTTP請求,但客戶端將無法與之通信。
有一定的設置,可以覆蓋這個要求?
您是如何確保請求到達Web服務器的,並且它沒有HTTPS但HTTP?當你說智能客戶端時,它是什麼?一個瀏覽器或其他東西? – Anu
那麼,我可以看到Web服務器通過HTTP進入的請求,我還可以在WCF日誌中看到報告錯誤的URL,即HTTP。此外,代理服務器的人確認HTTPS被剝離爲HTTP並通過HTTP轉發到網絡服務器。智能客戶端是使用ClickOnce部署的.NET Windows窗體應用程序。所以它是連接到WCF服務的Windows窗體應用程序。 – Aaron