SSL:NancyFx Selfhost单声道Linux(pi)

我是新手到linux(PI)和mono,applogies新手问题

如何通过https在mono / linux / pi上运行NancyFx,货架主机?

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

在文档中显示如何做到这一点的Windows(这里https://github.com/NancyFx/Nancy/wiki/Accessing-the-client-certificate-when-using-SSL#configuration-of-hostingself )

谢谢

我完全不知道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与它一起工作。

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

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

但不幸的是,目前的单声道版本需要客户端证书似乎有问题,请参阅:

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

和(最近的后续)

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

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

看看我对这个问题的回答,以便通过修补源代码并自己编译来使用最新的Mono版本。