【问题标题】:Nancyfx self hosting over HTTPSNancyfx 通过 HTTPS 自托管
【发布时间】:2015-02-17 15:45:36
【问题描述】:

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

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

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

【问题讨论】:

    标签: c# https nancy


    【解决方案1】:

    我已经开始工作了。我发现在此过程中进行多次检查很有用。

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

    • 在机器上安装证书后运行certutil -store MY
    • 您应该在那里看到证书详细信息(sha/user created/name 等)
    • 如果不停止。您可能已导入用户存储(或证书无效)。您必须从空 mmc 开始并为 MACHINE 导入证书。

    CHECK2 - url 是否正确添加到 netsh 中的 urlacl 列表中? (使用netsh http add urlacl)?:

    • 将uri添加到acl后运行netsh http show urlacl
    • 如果您的 uri / 端口未列出,请停止。网址未正确添加。

    CHECK3 - ssl 是否绑定到 urlacl ? (使用netsh http add sslcert

    • 运行 add sslcert 命令后运行netsh http show sslcert
    • 如果未列出您的端口/sha 组合,则检查 sha 是否没有空格/appid 是否唯一/app id + 大括号括在引号中(如果从 PS 执行)

    希望对您有所帮助。我在敲了 6 个小时的头后创建了上述内容。现在可以了!

    【讨论】:

      【解决方案2】:

      也许你错过了 SSL 证书配置和 url acl 配置。

      查看此帖子:https://coderead.wordpress.com/2014/08/07/enabling-ssl-for-self-hosted-nancy/

      【讨论】:

        猜你喜欢
        • 2015-04-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-06-05
        • 2015-12-15
        • 1970-01-01
        • 2015-03-14
        • 1970-01-01
        相关资源
        最近更新 更多