У меня есть служба WCF REST Self-Hosted (Console App) со следующей привязкой:
- WebMessageEncodingBindingElement
- HttpsTransportBindingElement (ManualAddressing = true, KeepAliveEnabled = true, AllowCookies = false, HostNameComparisonMode = Exact)
Это доступно через URL HTTPS ("https://mylaptop/myendpoint")
У меня есть самозаверяющий сертификат, выданный «mylaptop», который я назначаю с помощью myServiceHost.Credentials.ServiceCertificate.SetCertificate. Сертификат успешно добавлен, и ServiceHost успешно открывается (без исключений). Если я наберу «netsh http show servicestate», я увижу успешную регистрацию на https://mylaptop/myendpoint с HTTP.SYS
Однако, когда я запускаю GET для конечной точки, он не работает. Похоже, что сокет отбрасывается даже до того, как получен правильный HTTP-ответ. (FireFox говорит, что «соединение с сервером было сброшено», IE говорит, что «не может отобразить веб-страницу», и если я делаю запрос через Fiddler, он говорит, что «соединение было принудительно закрыто удаленным хостом»).
Все работает нормально, когда я использую HTTP вместо HTTPS.
Есть идеи, что может быть не так в случае HTTPS?