【问题标题】:SSL: NancyFx Selfhost Mono Linux (pi)SSL:NancyFx Selfhost Mono Linux (pi)
【发布时间】:2014-01-08 13:05:01
【问题描述】:

我是 linux (PI) 和 mono 的新手,申请新手问题

如何在 mono/linux/pi 上通过 https 运行 NancyFx、shelf 主机?

如果我能够使用 OpenSsl(cer 文件)创建证书,如何将其分配给端口?

在文档中展示了如何为 Windows 执行此操作(此处为 https://github.com/NancyFx/Nancy/wiki/Accessing-the-client-certificate-when-using-SSL#configuration-of-hostingself

谢谢

【问题讨论】:

    标签: linux ssl mono nancy self-hosting


    【解决方案1】:

    我完全不了解 PI,但我认为它与托管在任何其他 linux 变体上并没有太大区别。

    有两种方法。第一个记录在 Wiki 上:

    https://github.com/NancyFx/Nancy/wiki/Hosting-Nancy-with-Nginx-on-Ubuntu

    基本上,这个想法是使用 nginx Web 服务器将调用委托给自托管应用程序。

    第二种是使用nginx,用mono-fastcgi-server4来处理请求。这更像是一个传统的网站,而不是一个将请求委托给另一个服务的网站。

    我在博客中记录了这个过程:

    http://www.philliphaydon.com/2013/06/setting-up-mono-on-nginx/

    http://www.philliphaydon.com/2013/07/setting-up-a-nancyfx-website/

    理论上第一个解决方案应该允许您使用 OWIN 并托管其他东西,例如 SignalR,而我的解决方案没有,因为 nginx 不支持集成管道,所以 OWIN 无法工作,我没有成功让 SignalR 使用它。

    【讨论】:

    • 问题仍然是如何将 SSL 与 NancyFX 和 Nginx 一起使用,还是我错过了您博客文章中的某些内容?
    【解决方案2】:

    使用httpcfg 将您的证书绑定到端口,例如:

    httpcfg -add -cert my_certificate.cer -pvk my_privatekey.pvk -port 443

    但不幸的是,当前 Mono 版本需要客户端证书似乎存在问题,请参阅:

    https://github.com/mono/mono/pull/1202

    和(最近的跟进)

    https://github.com/mono/mono/pull/2817

    最后一个可用的 Mono 版本(我对此进行了测试)是 3.10.0(不应该在生产环境中使用,因为缺少安全更新)。

    查看我对this question 的回答,了解如何通过修补源代码并自行编译来使用最新的 Mono 版本。

    【讨论】:

      【解决方案3】:

      互联网上仍然充斥着 2016 年的文章和关于 Mono 中使用 SSL 的 httpListener 错误的 cmets(这会导致 OP 关于 Linux 上的 Nancy 的问题出现问题)。该问题可能已在最新的 Mono 版本中得到解决,但我还没有看到该信息。但是,这甚至可能无关紧要,因为许多对此进行研究的用户似乎报告说,使用 Nginx 作为前端和反向代理无论如何是一个更好的解决方案。

      可以在此处找到讨论此问题的主要问题: Mono HttpListener client certificate

      可以在此处找到使用 Nginx 进行托管的 Nancy 说明: https://github.com/NancyFx/Nancy/wiki/Hosting-Nancy-with-Nginx-on-Ubuntu

      【讨论】:

      • 或者,使用 Ceen Httpd 来完全避免 Mono HttpListener。
      猜你喜欢
      • 2012-04-30
      • 1970-01-01
      • 1970-01-01
      • 2023-03-22
      • 1970-01-01
      • 2012-02-26
      • 1970-01-01
      • 1970-01-01
      • 2013-04-20
      相关资源
      最近更新 更多