WCF HTTPS自托管服务不起作用("重置与服务器的连接")

Eug*_*sky 5 https wcf wcf-security

我有一个自托管(控制台应用程序)WCF REST服务,具有以下绑定:

  • WebMessageEncodingBindingElement
  • HttpsTransportBindingElement(ManualAddressing = true,KeepAliveEnabled = true,AllowCookies = false,HostNameComparisonMode = Exact)

这是通过HTTPS URL(" 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情况下会出现什么问题吗?

tom*_*asr 6

您可能需要使用httpcfg.exe通过HTTP.SYS正确保留端点,并为SSL配置X.509证书.这里记录完成它的步骤.


nit*_*one 6

或者使用HttpCfgGui - 一个更友好的界面来设置带有HTTP.SYS的服务器证书.这是必须安装在所有使用HTTP w/WCF的服务器上.