Javascript 代理错误502,在apache2服务器上运行节点js应用程序

Javascript 代理错误502,在apache2服务器上运行节点js应用程序,javascript,node.js,apache,proxy,ubuntu-14.04,Javascript,Node.js,Apache,Proxy,Ubuntu 14.04,我正在尝试在Apache服务器侦听端口80上运行Node.js应用程序 这是我的Virtualhost文件: <VirtualHost *:80> ServerName mikus ServerAdmin webmaster@localhost DocumentRoot /var/www/html ProxyPreserveHost On ProxyPass /node http://localhost:8000/ ProxyPassReverse /node ht

我正在尝试在Apache服务器侦听端口80上运行Node.js应用程序 这是我的Virtualhost文件:

    <VirtualHost *:80>

ServerName mikus

ServerAdmin webmaster@localhost
DocumentRoot /var/www/html

ProxyPreserveHost On

ProxyPass /node http://localhost:8000/
ProxyPassReverse /node  http://localhost:8000/
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
当我试图在“localhost/node”或ip_address/node运行应用程序时,我遇到了一个502代理错误:代理服务器收到了来自上游服务器的无效响应。 代理服务器无法处理请求GET/node

原因:本地主机的DNS查找失败

Apache/2.4.7(Ubuntu)服务器,127.0.0.1端口80


谢谢。

app.js
中启用代理:

app.enable('trust proxy');
并修复node.js中有效路由的uri:

ProxyPass /node http://localhost:8000/node
ProxyPassReverse /node  http://localhost:8000/node

在app.js中启用代理:

app.enable('trust proxy');
并修复node.js中有效路由的uri:

ProxyPass /node http://localhost:8000/node
ProxyPassReverse /node  http://localhost:8000/node

localhost可能是ipv6地址,试试127.0.0.1 insteed

localhost可能是ipv6地址,试试127.0.0.1 insteed

嗨,Lucas,谢谢你的快速回答,不幸的是,我仍然有相同的错误。是的,如果我运行'node app.js'并转到路由localhost:8000/node,它可以工作。对不起,在Apache中,我不知道在做什么。js与Nginx配合使用非常好,因为Nginx比Apache更适合提供静态文件。Nginx中的配置反向代理也可以很好地工作。可能是你感兴趣的搜索和尝试。嗨,卢卡斯,谢谢你的快速回答,不幸的是我仍然有相同的错误..是的,如果我运行'node app.js'并转到路由localhost:8000/node,它就工作了。对不起,在Apache中,我不知道在做什么。js与Nginx配合使用非常好,因为Nginx比Apache更适合提供静态文件。Nginx中的配置反向代理也可以很好地工作。也许是你感兴趣的搜索和尝试。