ing*_*ede 9 apache ssl-certificate node.js
我需要从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
Run Code Online (Sandbox Code Playgroud)
对我来说很明显,NodeJS服务器应用程序无法通过HTTPS处理请求,因为它是一个HTTP服务器.
我想改变该服务器,以便能够使用apache webserver上已有的SSL来提供HTTPS请求.
这有可能吗?
FrW*_*FrW 17
我建议看看apache的mod_proxy.这将允许您通过apache SSL管道运行外部请求.node.js只能在没有ssl支持的localhost接口上运行,因为它是由apache代理的.我配置一个vhost它可能看起来像这样:
<VirtualHost *:443>
ServerName www.yourserver.com
DocumentRoot /var/www/vhosts/www.yourserver.com/public_html
CustomLog <LOG-PATH> combined
ErrorLog <ERROR-LOG-PATH>
# Example SSL configuration
SSLEngine on
SSLProtocol all -SSLv2
SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5
SSLCertificateFile "<CERT-PATH>/server.crt"
SSLCertificateKeyFile "<CERT-PATH>/server.key"
ProxyPass /<PATH>/ http://localhost:1900/
ProxyPassReverse /<PATH>/ http://myserver:1900/
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
您的要求将如下所示:
GET https://mydomain.nl/<PATH>/?....
Run Code Online (Sandbox Code Playgroud)
其中<PATH>的值与vhost config的<ProxyPass>指令中的值相同.
| 归档时间: |
|
| 查看次数: |
11117 次 |
| 最近记录: |