我是linux(PI)的新手,也是新手问题的单声道applog。
如何在mono / linux / pi上运行NancyFx,架子主机,通过https?
如果我能够使用OpenSsl(cer文件)创建证书,我该如何将其分配给端口?
文档中的显示了如何为Windows执行此操作(此处为https://github.com/NancyFx/Nancy/wiki/Accessing-the-client-certificate-when-using-SSL#configuration-of-hostingself)
感谢
答案 0 :(得分: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使用它。
答案 1 :(得分:0)
使用android:background="@drawable/img123"
将证书绑定到端口,例如:
httpcfg
但遗憾的是,目前需要客户端证书的Mono版本似乎存在问题,请参阅:
https://github.com/mono/mono/pull/1202
和(最近的后续行动)
https://github.com/mono/mono/pull/2817
有效的最后一个Mono版本(我测试了这个版本)是 3.10.0 (由于缺少安全更新,因此不应该在生产环境中使用它。)
请查看我对this question的回答,了解如何通过修补源代码并自行编译来使用最新的Mono版本。
答案 2 :(得分:0)
Internet上仍然充斥着2016年的文章以及有关Mono中带有SSL的httpListener错误的评论(这引起了OP关于Linux上Nancy的问题)。最新的Mono版本中可能已经解决了该问题,但是我没有看到该信息。但是,这甚至可能无关紧要,因为调查此问题的许多用户似乎都报告说,将Nginx用作前端和反向代理是更好的解决方案。
讨论此问题的主要问题可以在这里找到: Mono HttpListener client certificate
有关使用Nginx进行托管的Nancy说明,可以在这里找到: https://github.com/NancyFx/Nancy/wiki/Hosting-Nancy-with-Nginx-on-Ubuntu