WCF HTTPS 自托管服务不起作用 ("connection to the server was reset")

标签 wcf https wcf-security

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

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

  • 这通过 HTTPS URL(“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 案例中可能出了什么问题吗?

    最佳答案

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

    关于WCF HTTPS 自托管服务不起作用 ("connection to the server was reset"),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1522004/

    相关文章:

    wpf - 通过服务保存时如何保持模型一致?

    https - 修复了 Octave urlread 导致无法使用给定 CA 证书对对等证书进行身份验证的问题

    wcf - 本地主机拒绝连接

    .net - 如何在本地计算机上模拟 CORS?

    wcf - web.config WCF 文件中的 appsettings 节点在尝试调试时出现错误

    .net - WCF服务共享存储

    c# - WCF 中的 Xml 数据未正确序列化

    java - 有没有办法与 Java 1.3 建立 HTTPS 连接?

    docker - 使用Docker和Azure Kubernetes(AKS)托管的Angular Application的SSL证书配置

    wcf - 什么是服务凭证协商?