我已经通过代理,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);
我非常感谢你的投入,因为我已经尝试了很多但没有运气:(
感谢。
答案 0 :(得分:0)
如果我在服务器上评论响应,那么它将无效并且将获得错误502 。它应该是:
var server=http.createServer(function(req,res){
res.end('Connected');
});