当前位置:  开发笔记 > 编程语言 > 正文

Apache和NodeJS over SSL

如何解决《Apache和NodeJSoverSSL》经验,为你挑选了1个好方法。

我需要从HTTP切换到HTTPS才能使用getUsermedia进行webrtc实现.我已经在我的Apache 2.2.22版本上安装了证书并使其正常运行.

在我主持NodeJS的网站上使用.也许不是理想的设置,但是当客户端上的socket.io想要与NodeJS服务器通信时,我遇到了问题.

在控制台中显示以下消息:

GET https://mydomain.nl:1900/socket.io/?EIO=3&transport=polling&t=1449219985177-166 net::ERR_CONNECTION_CLOSED 

对我来说很明显,NodeJS服务器应用程序无法通过HTTPS处理请求,因为它是一个HTTP服务器.

我想改变该服务器,以便能够使用apache webserver上已有的SSL来提供HTTPS请求.

这有可能吗?



1> FrW..:

我建议看看apache的mod_proxy.这将允许您通过apache SSL管道运行外部请求.node.js只能在没有ssl支持的localhost接口上运行,因为它是由apache代理的.我配置一个vhost它可能看起来像这样:


  ServerName www.yourserver.com
  DocumentRoot /var/www/vhosts/www.yourserver.com/public_html

  CustomLog  combined
  ErrorLog 

  # Example SSL configuration
  SSLEngine on
  SSLProtocol all -SSLv2
  SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5
  SSLCertificateFile "/server.crt"
  SSLCertificateKeyFile "/server.key"

  ProxyPass // http://localhost:1900/
  ProxyPassReverse // http://myserver:1900/

您的要求将如下所示:

GET https://mydomain.nl//?.... 

其中的值与vhost config的指令中的值相同.

推荐阅读
TXCWB_523
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有