2016-02-25 37 views
0

這是我第一次做這件事,並且遇到了一個問題。我想我差不多在那裏,但是我需要神的幫助!(這就是你們!)。在Web上啓用HTTPS時發生403錯誤serivce

我有一個偉大的web服務(WCF)。我現在需要爲此添加SSL證書。我已將SSL證書安裝到IIS上並將其綁定到Web服務。

我還增加了以下到我的web.config

<endpoint address="" behaviorConfiguration="WebBehavior" binding="webHttpBinding" contract="MyWebService.IService1" /> 
    <endpoint address="https://myDomain.co.uk/Service1.svc" binding="wsHttpBinding" bindingConfiguration="TransportSecurity" contract="MyWebService.IService1"> 
     <identity> 
     <certificateReference storeName="My" storeLocation="LocalMachine" x509FindType="FindBySubjectName" findValue="CertName" /> 
     </identity> 

我也有以下綁定

<binding name="secureHttpBinding" allowCookies="true"> 
     <security mode="Transport"> 
     <transport clientCredentialType="Certificate" /> 
     </security> 
    </binding> 
    </webHttpBinding> 

    <wsHttpBinding> 
    <binding name="TransportSecurity"> 
     <security mode="Transport"> 
     <transport clientCredentialType="Certificate" /> 
     </security> 
    </binding> 
    </wsHttpBinding> 

<protocolMapping> 
    <add scheme="http" binding="wsHttpBinding" /> 
    <add scheme="https" binding="basicHttpBinding" /> 
</protocolMapping> 

我的問題是,當我調用Web服務作爲HTTP其優良,

當我把它稱爲HTTPS時,我得到了403錯誤。我不知道問題是什麼。

幫助請 由於提前

Alpesh

回答

0

我找到了答案。

首先,終點只應該如下。我刪除了另一端porint

<endpoint address="" behaviorConfiguration="WebBehavior" binding="webHttpBinding" bindingConfiguration="secureHttpBinding" contract="MyWebService.IService1" /> 

結合應該是

<webHttpBinding> 
    <binding name="secureHttpBinding" allowCookies="true"> 
    <security mode="Transport" /> 
    </binding> 
    </webHttpBinding> 

我去掉了下面一行

<transport clientCredentialType="Certificate" /> 

這解決了我的問題。我希望這可以幫助別人。謝謝

相關問題