2014-12-18 50 views
1

我试图在自主模式下启动nancyfx网​​络服务器。Nancyfx通过HTTPS自行托管

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我可以知道正确的端口已打开。

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

回答

8

我找到了工作。我发现在这个过程中进行一些检查很有用。

CHECK1 - 证书导入正常: - 在机器上安装证书后,运行certutil -store MY - 您可以在此处查看证书详细信息(sha/user created/name等) - 如果不是STOP。您可能导入到用户存储区(或证书无效)。您必须从空mmc开始并为MACHINE导入证书。

CHECK2 - 将URL添加到netsh中的urlacl列表中 - 将uri添加到acl run后netsh http show urlacl - 如果您的uri/port未列出STOP。网址未被正确添加。

CHECK3-ssl绑定到urlacl - 运行add sslcert命令后运行netsh http show sslcert - 如果你的port/sha组合没有被列出,那么检查sha没有空格/ appid是唯一的/ app id +大括号括起来的引号如果从PS执行)

希望它有帮助。我在6个小时的头撞后创建了上述内容。它现在工作!

相关问题