C# Nancyfx通过HTTPS自托管

C# Nancyfx通过HTTPS自托管,c#,https,nancy,C#,Https,Nancy,我尝试在自托管模式下启动nancyfx Web服务器。 执行以下代码时,一切正常: public static void Main(string[] args) { var hostConfig = new HostConfiguration { UrlReservations = new UrlReservations { CreateAutomatically = true

我尝试在自托管模式下启动nancyfx Web服务器。 执行以下代码时,一切正常:

 public static void Main(string[] args)
 {
        var hostConfig = new HostConfiguration
        {
            UrlReservations = new UrlReservations
            { 
                CreateAutomatically = true
            },        
        };

        var host = new NancyHost(hostConfig, new Uri("http://localhost:8081"));
        host.Start();

        Console.ReadLine();

        host.Stop();
}
但是,当我将uri更改为
https://...
服务器启动,但浏览器打开的每个连接都会立即关闭,浏览器显示“网站不可用”。甚至在浏览器因超时而关闭连接之前,连接就已关闭

我正在Windows上使用.NET 4.5运行该应用程序。使用netstat-a,我可以判断是否打开了正确的端口

我错过什么了吗?
感谢您的帮助。

可能您错过了SSL证书配置和url acl配置


查看此帖子:

我已经让它工作了。我发现在这个过程中进行一些检查很有用

检查1-证书添加是否正确?(正确使用证书管理MMC管理单元):

  • 在计算机上安装证书后,运行
    certutil-storemy
  • 您应该在那里看到证书详细信息(sha/用户创建/名称等)
  • 如果不停止。您可能已导入用户存储(或证书无效)。您必须从空mmc开始,并为机器导入证书
检查2-url是否正确添加到netsh中的urlacl列表中?(使用
netsh http添加urlacl
):

  • 将uri添加到acl后,运行
    netsh http show urlacl
  • 如果您的uri/端口未列出,请停止。未正确添加url
检查3-ssl是否绑定到urlacl?(使用
netsh http添加sslcert

  • 运行add sslcert命令后,运行
    netsh http show sslcert
  • 如果您的端口/sha组合未列出,则检查sha是否没有空格/appid是否唯一/appid+括号(如果从PS执行)
希望能有帮助。我在6个小时的头部撞击后创建了上述内容。它现在起作用了