浏览Node.js服务器时获取502(代理错误)

时间:2014-05-11 23:17:09

标签: javascript node.js apache proxy

我已经通过代理,proxy_http模式配置了Apache服务器的Node.js服务器,它运行正常。但是现在当我启动我的Node.js服务器时,我在ssh控制台上收到了正在运行的通知消息:"确定,服务器正在运行" ,但是当我访问节点时。 js服务器通过浏览器http://example.com/node/,我得到 502错误(代理错误) - 在我获得200状态之前!

我不知道为什么现在我无法获得200状态!我没有为Node.js服务器文件改变任何东西。所有者是root:root。我重新启动了Ubuntu 12.04服务器,重启后它正在工作。

模块代理 proxy_http 已启用。

我从Apache日志中得到以下错误:

(20014)Internal error: proxy: error reading status line from remote server localhost:9000

proxy: Error reading from remote server returned by /node


以下是启用代理

的网站可用/etc/apache2/sites-available/example.com配置
<VirtualHost *:80>

    .
    .
    ProxyPass /n  http://localhost:9000/
    ProxyPassReverse /n  http://localhost:9000/
    .
    .
</VirtualHost>

Node.js服务器代码:

var http=require('http');
var mysql = require('mysql');
var util = require('util');
var url = require('url');

var server=http.createServer(function(req,res){
     //res.end('Connected');
});


server.on('listening',function(){
    console.log('ok, server is running');
});

server.listen(9000);

我非常感谢你的投入,因为我已经尝试了很多但没有运气:(

感谢。

1 个答案:

答案 0 :(得分:0)

如果我在服务器上评论响应,那么它将无效并且将获得错误502 。它应该是:

var server=http.createServer(function(req,res){
    res.end('Connected');
});