在WCF Rest Web服务上启用HTTPS

时间:2018-10-26 09:31:14

标签: wcf iis iis-6 wcf-binding wcf-rest

在WCF其余Web服务上启用HTTPS

我已经尝试了多种配置,但是无法通过HTTPS使WCF Rest Web服务正常工作。我收到500个内部错误或400个错误的请求。

我已将一个新网站添加到IIS中,并绑定到端口80和443。然后启用了http / https协议。

这是我的Web.config:

<?xml version="1.0"?>
<configuration>
  <system.serviceModel>
    <services>
   <service name="RestService.MyService">
     <endpoint address="https://mywebsite.com"
       binding="webHttpBinding" contract="RestService.IMyService" />
   </service>
 </services>
    <behaviors>
      <endpointBehaviors>
        <behavior>
          <webHttp/>
        </behavior>
      </endpointBehaviors>
    </behaviors>
  </system.serviceModel>
  <startup>
    <supportedRuntime version="v4.5" sku=".NETFramework,Version=v4.5.1"/>
  </startup>
  <system.diagnostics>
    <sources>
      <source name="System.ServiceModel" switchValue="Information,ActivityTracing"
        propagateActivity="true">
        <listeners>
          <add name="xml" />
        </listeners>
      </source>
      <source name="System.ServiceModel.MessageLogging">
        <listeners>
          <add name="xml" />
        </listeners>
      </source>
    </sources>
    <sharedListeners>
      <add initializeData="C:\logs\TracingAndLogging-service.svclog" type="System.Diagnostics.XmlWriterTraceListener"
        name="xml" />
    </sharedListeners>
    <trace autoflush="true" />
  </system.diagnostics>
</configuration>

1 个答案:

答案 0 :(得分:0)

尝试将以下绑定配置添加到端点。

<services>
  <service name="WcfServiceFile.Service1">
    <endpoint address="" binding="webHttpBinding" contract="WcfServiceFile.IService1" behaviorConfiguration="beh" bindingConfiguration="myBinding">
    </endpoint>
  </service>
</services>
<bindings>
  <webHttpBinding >
    <binding name="myBinding" >
      <security mode="Transport">
        <transport clientCredentialType="None"></transport>
      </security>
    </binding>
  </webHttpBinding>

别忘了将绑定配置应用于端点,以使其生效。
结果。 enter image description here 由于存在自签名证书,因此连接不安全。 如果问题仍然存在,请随时与我联系。