Включить HTTPS на веб-сервисе WCF rest - PullRequest
0 голосов
/ 26 октября 2018

Включить HTTPS на веб-сервисе отдыха WCF

Я уже пробовал использовать несколько конфигураций, но не могу заставить мой веб-сервис отдыха WCF работать через HTTPS.Я получаю 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 голосов
/ 29 октября 2018

Попробуйте добавить следующую конфигурацию привязки к конечной точке.

<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 Из-за Самозаверяющего сертификата соединение не защищено. Не стесняйтесь связаться со мной, если проблема все еще существует.

...