网上大部分答案是用使用nginx的反向代理,我记录一下apache服务器怎么设置。
配置
- 在 Apache 的配置文件中,打开 mod_proxy 和 mod_proxy_http 等等,即去掉 httpd.conf 中的#
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
LoadModule proxy_http_module modules/mod_proxy_http.so
因为我们的服务器不可能就部署一个网站,so 我们不能把下面的代码直接添加到 httpd.conf文件里,而是添加到每个站点单独的配置文件。
例如:/usr/local/apache/conf/vhost目录下是每个网站单独的配置文件。
下面是http 配置文件
<VirtualHost *:80>
ServerAdmin huacheng26@gmail.com
#DocumentRoot "/data/wwwroot/webrtc.xxxxxxx.com"//这个要注释掉,这个是我们正常添加站点时生成的文件。
ServerName webrtc.xxxxxxx.com
ErrorLog "/data/wwwlogs/webrtc.xxxxxxx.com_error_apache.log"
CustomLog "/data/wwwlogs/webrtc.xxxxxxx.com_apache.log" common
ProxyRequests off
<Proxy *>
Order deny,allow
Deny from all
Allow from all
</Proxy>
<Location />
ProxyPass http://localhost:3000/
ProxyPassReverse http://localhost:3000/
</Location>
</VirtualHost>
下面是https 配置文件
<VirtualHost *:443>
ServerAdmin huacheng26@gmail.com
#DocumentRoot "/data/wwwroot/webrtc.xxxxxxx.com"//这个要注释掉,这个是我们正常添加站点时生成的文件。
ServerName webrtc.xxxxxxx.com
SSLEngine on
SSLProtocol all -SSLv2 -SSLv3
SSLCipherSuite AESGCM:ALL:!DH:!EXPORT:!RC4:+HIGH:!MEDIUM:!LOW:!aNULL:!eNULL;
SSLCertificateFile /usr/local/apache/conf/ssl/webrtc.xxxxxxxx.com/public.pem
SSLCertificateKeyFile /usr/local/apache/conf/ssl/webrtc.xxxxxx.com/webrtc.key
SSLCertificateChainFile /usr/local/apache/conf/ssl/webrtc.xxxxxxx.com/chain.pem
ErrorLog "/data/wwwlogs/webrtc.xxxxxxx.com_error_apache.log"
CustomLog "/data/wwwlogs/webrtc.xxxxxxx.com_apache.log" common
ProxyRequests off
<Proxy *>
Order deny,allow
Deny from all
Allow from all
</Proxy>
<Location />
ProxyPass http://localhost:3000/
ProxyPassReverse http://localhost:3000/
</Location>
</VirtualHost>
然后 运行你的$ node server.js
如有问题请留言。