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

时间:2009-10-05 19:44:27

标签: wcf https wcf-security

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

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

这是通过HTTPS网址(“https://mylaptop/myendpoint”)

公开的

我使用myServiceHost.Credentials.ServiceCertificate.SetCertificate分配了发给“mylaptop”的自签名证书。证书已成功添加,ServiceHost成功打开(无例外)。如果我输入“netsh http show servicestate”,我可以看到在https://mylaptop/myendpoint使用HTTP.SYS成功注册

但是,当我向端点发出GET时,它不起作用。看起来即使在获得有效的HTTP响应之前,套接字也会被丢弃。 (FireFox表示“与服务器的连接已重置”,IE表示“无法显示网页”,如果我通过Fiddler执行请求,则表示“连接被远程主机强行关闭”。)

当我使用HTTP而不是HTTPS时,一切正常。

知道在HTTPS情况下会出现什么问题吗?

2 个答案:

答案 0 :(得分:6)

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

答案 1 :(得分:5)

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