Да, 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>