2012-09-14 98 views
0

我在IIS 7上運行WCF並使用負載均衡的服務器配置。WCF服務不能在SSL下工作

當我們正常運行它時,一切正常,但當我們試圖打開SSL時,一切都停止工作。我已經嘗試了所有不同的配置設置,如傳輸和消息web.config但似乎沒有工作。

甚至不允許我添加對項目的引用,只是帶着關於文檔類型的奇怪錯誤返回。

一切工作正常我們的主要網絡服務器,所以我不認爲它與數字證書的問題。

+0

您需要更改WCF綁定以允許SSL傳輸。 你可以發佈你的綁定配置嗎? 對於通過SSL發佈的元數據,還需要更改mex端點綁定和服務行爲元數據發佈。 – Paciv

+0

您需要更具體地瞭解您的問題,向我們展示一些代碼和配置,告訴我們具體的錯誤等等(把自己置於我們的位置:很難回答現在的問題)。請注意,您可以隨時編輯您的問題! – Jeroen

+0

在我們的測試服務器上,似乎一切正常,並且我正確設置了綁定中的設置。我將與我們的服務器人員談話,以瞭解更多關於他如何配置SSL的內容,因爲我自己沒有這樣做 – WillSkills

回答

2

我不知道您正在負載均衡器上使用SSL加速來保存證書。如果你是這個可能會解釋錯誤。

當我們實現負載均衡時,我們的服務器也出現類似的問題。問題是SSL加速會干擾WCF在添加服務引用時拾取引用的方式。

有一篇文章here解釋瞭如何解決問題。它也有圖表和內容。

+0

我檢查了我的服務器人,他正在負載平衡器上託管數字證書。當我們在測試服務器上安裝證書並更改了dns時,它一切正常。我確實有我的httpsGetEnabled仍然設置爲http,所以我認爲這也有幫助。 – WillSkills

1

看一看這個鏈接 http://www.codeproject.com/Articles/36705/7-simple-steps-to-enable-HTTPS-on-WCF-WsHttp-bindi

,也看看下面

您必須配置服務使用HTTPS:

<bindings> 
    <basicHttpBinding> 
    <binding name="https"> 
     <security mode="Transport" /> 
    </binding> 
    </basicHttpBinding> 
</bindings> 
<behaviors> 
    <serviceBehaviors> 
    <behavior name="metadata"> 
     <serviceMetadata httpsGetEnabled="true" /> 
    </behavior> 
    </serviceBehaviors> 
</behaviors> 
<services> 
    <service name="..." behaviorConfiguration="metadata"> 
    <endpoint address="..." contract="..." binding="basicHttpBinding" 
       bindingConfiguration="https" /> 
    </service> 
</services>