У меня есть три различных службы WCF, развернутых на сервере отдельно, там есть собственный каталог приложений в разделе «Веб-сайты по умолчанию» в IIS. Одна из служб развертывается мной, а еще две другие службы развертываются другим клиентом. В IIS есть один сертификат сервера, с которым я связываю свою службу.Хостинг нескольких служб WCF с единым сертификатом
Но когда я пытаюсь получить доступ к моей службе формы HTTPS я получаю эту ошибку во всплывающем окне:..
"Адреса Несовместимость Сертификат безопасности этого сайтом был выпущен для другого адреса веба-сайта Этой проблема может указывают на вас пытаются обмануть или хотят перехватить информацию, передаваемую на сервер. "
Thee файл web.config моей службы заключается в следующем
<configuration>
<system.web>
<compilation debug="true" targetFramework="4.0" />
<identity impersonate="false" />
</system.web>
<system.serviceModel>
<services>
<service name="WcfApp.Service">
<endpoint address="customer"
binding="basicHttpBinding"
bindingConfiguration="secureHttpBinding"
contract="WCFApp.ICustomerService" />
<endpoint address="order"
binding="basicHttpBinding"
bindingConfiguration="secureHttpBinding"
contract="WcfApp.IOrderService" />
<endpoint address="mex"
binding="mexHttpsBinding"
contract="IMetadataExchange" />
</service>
</services>
<bindings>
<basicHttpBinding>
<binding name="secureHttpBinding">
<security mode="Transport">
<transport clientCredentialType="None"/>
</security>
</binding>
</basicHttpBinding>
</bindings>
<behaviors>
<serviceBehaviors>
<behavior >
<serviceMetadata httpsGetEnabled="True" />
<serviceDebug includeExceptionDetailInFaults="true" />
<serviceThrottling maxConcurrentCalls="21" maxConcurrentSessions="50" />
</behavior>
</serviceBehaviors>
</behaviors>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
</system.serviceModel>
<system.webServer>
<directoryBrowse enabled="true" />
<validation validateIntegratedModeConfiguration="false" />
</system.webServer>
</configuration>
Интересно то, что, когда я попал в следующий URL: https://myserverurl.com/applicationfolder/service.svc?wsdl
, чтобы получить WSDL, он отлично работает и возвращает мне описание WSDL, но первоначальный вызов не работает.
Почему я получаю «Несоответствующий адрес»? Нужно ли добавлять базовый адрес хоста? если да, как и где именно добавить его в web.config, и нужно ли его добавлять в других двух сервисах wcf? Разве порт конфликтует с сертификатом? Я новичок в wcf, пожалуйста, помогите мне решить эту проблему?
Я использую .net 4.0, IIS 7.0, Windows Server 2008.
Спасибо заранее.