Я пытаюсь настроить службу WCF на HTTPS. Я настроил поведение и службы с соответствующими адресами, но не могу понять, почему адрес, который предоставляется узлу службы, по-прежнему является http.
Я использую поведение здесь:
<behavior name="RequestProcessorBehavior">
<serviceCredentials>
<userNameAuthentication
userNamePasswordValidationMode="Custom"
customUserNamePasswordValidatorType="ServiceAuthentication,Services"/>
</serviceCredentials>
<serviceMetadata httpsGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="true"/>
<dataContractSerializer maxItemsInObjectGraph="2147483647"/>
<serviceThrottling maxConcurrentCalls="500" maxConcurrentInstances="500"/>
</behavior>
Сервисный элемент здесь
<service name="MyNamespace.WcfRequestProcessor" behaviorConfiguration="RequestProcessorBehavior">
<host>
<baseAddresses>
<add baseAddress="https://xxxxxxxxxxxxxx/Services/"/>
</baseAddresses>
</host>
<!--
Use the listenUri attribute if this causes a problem with the load balancer.
The url of the listenUri should be that of the load balancer
-->
<endpoint address=""
bindingNamespace="https://xxxxxxxxxxxxxx/Services/"
contract="MyNamespace.IWcfRequestProcessor"
binding="basicHttpBinding"
bindingConfiguration="RequestProcessorBinding">
<identity>
<dns value="localhost"/>
</identity>
</endpoint>
<endpoint address="wsHttpBinding"
bindingNamespace="https://xxxxxxxxxxxxxx/Services/"
contract="MyNamespace.IWcfRequestProcessor"
binding="wsHttpBinding"
bindingConfiguration="wsBinding">
<identity>
<dns value="localhost"/>
</identity>
</endpoint>
<endpoint address="mex" binding="mexHttpsBinding" contract="IMetadataExchange" />
</service>
Когда я добавляю точку останова в конструктор ServiceHost, я вижу, что параметр baseAddresses содержит только один адрес, и это http, а не https. Когда я пытаюсь посетить страницу svc, я получаю следующую ошибку, и я понимаю, почему она показывает это, но я не вижу, что я могу изменить, чтобы сделать baseAddress, который передается конструктору ServiceHost https, а не http.
Не удалось найти базовый адрес, который
соответствует схеме https для конечной точки
с привязкой BasicHttpBinding.
Схемы зарегистрированных базовых адресов
[HTTP].
Любая помощь будет принята с благодарностью.
ОБНОВЛЕНИЕ # 1
Раздел конфигурации привязки, который я оставил вне исходного вопроса:
<bindings>
<basicHttpBinding>
<binding name="RequestProcessorBinding" maxReceivedMessageSize="2147483647" receiveTimeout="00:30:00" sendTimeout="00:30:00">
<readerQuotas maxStringContentLength="2147483647" maxArrayLength="2147483647"/>
<security mode="Transport">
<transport clientCredentialType="None"/>
</security>
</binding>
</basicHttpBinding>
</bindings>
В настоящее время это находится в среде разработки и в IIS6. Это внутри сайта по умолчанию.