WCF Web Api с HTTPS - PullRequest
       9

WCF Web Api с HTTPS

0 голосов
/ 01 ноября 2011

Просто, чтобы поместить некоторый контекст. ASP.NET MVC2 Веб API 5 IIS 7

Я пытаюсь использовать веб-API WCF, и как только я включаю HTTPS, он перестает работать.

Вещи, которые я заметил: Мой вызов API я делаю через jquery, и у меня есть что-то вроде этого в качестве URL: http://www.domain.com/api/serviceApi/SetForeignToken?token=ASDAS-ASDAS-ASDASD-ASDASDAS&foreignToken=AS123ASD

Когда я использую тестовый интерфейс API, я через: https://www.domain.com/api/serviceApi/Test Я вижу для теста URL: https://devserver.ad.domain.com/api/serviceapi/SetForeignToken?token=ASDAS-ASDAS-ASDASD-ASDASDAS&foreignToken=AS123ASD Просто кажется, что он разрешает DNS в имени машины, а не сохраняет обычный DNS, как это было раньше без HTTPS.

Кто-нибудь знает, как настроить API, чтобы заставить эту работу работать без HTTPS, или это вообще возможно?

Спасибо

PS. Среда разработки имеет самоподписанный сертификат, в то время как производство будет иметь настоящий сертификат.

Ответы [ 2 ]

1 голос
/ 01 ноября 2011

Да, WCF Web API поддерживает HTTPS. Я считаю, что есть несколько способов сделать это (в том числе вариант кода). Я хотел, чтобы https был включен только на одном сервере, поэтому я сделал это в своем файле web.config:

  <system.serviceModel>
    <serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true">
        <baseAddressPrefixFilters>
            <add prefix="https://subdomain.example.com"/>
        </baseAddressPrefixFilters>
    </serviceHostingEnvironment>
    <bindings>
      <webHttpBinding>
        <binding>
          <security mode="Transport" />
        </binding>
      </webHttpBinding>
    </bindings>
  </system.serviceModel>  
0 голосов
/ 07 января 2013

Спасибо, ребята.провел целый день, выясняя это.Просто добавил код в web.config и все заработало.

...