在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>
答案 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>
别忘了将绑定配置应用于端点,以使其生效。
结果。
由于存在自签名证书,因此连接不安全。
如果问题仍然存在,请随时与我联系。