我有一个自托管(控制台应用程序)WCF REST服务,具有以下绑定:
这是通过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情况下会出现什么问题吗?
答案 0 :(得分:6)
您可能需要使用httpcfg.exe通过HTTP.SYS正确保留端点,并为SSL配置X.509证书。完成这项工作的步骤记录在here。
答案 1 :(得分:5)
或者使用HttpCfgGui - 一个更友好的界面来设置带有HTTP.SYS的服务器证书。这是必须安装在所有使用HTTP W / WCF的服务器上。