这是我第一次这样做并且遇到了一个问题。我想即将到来,但我需要众神的帮助!(那就是你们!)。
我有一个很棒的网络服务(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 :(得分: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" />
这解决了我的问题。我希望这有助于其他人。感谢