如何在http-proxy中检测目标服务器何时关闭?

时间:2014-10-27 09:51:36

标签: node.js node-http-proxy

我正在尝试为我在Windows机器上运行的内部节点快速服务器创建面向Internet的服务器。为此,我有一个打开端口的虚拟unix盒,我使用http-proxy创建一个代理服务器,将请求重定向到我的内部服务器。

如果内部服务器关闭,我想向用户显示自定义html页面。我在虚拟unix框中运行了以下代码(相关部分):

var proxy = httpProxy.createProxyServer({target:'http://'+addr.to[2]+':'+addr.to[3], xfwd:true,       ws:true});

proxy.listen(addr.from[3], addr.from[2]);

winston.info('--Proxy server started listening on: '+addr.from[2]+':'+addr.from[3]);

proxy.on('error', function (err, req, res) {

  console.log(err);

  try{
  winston.error('Middleware server down, Delivering 404 page');
  res.writeHead(500, {
    'Content-Type': 'text/html'
   });

    fs.readFile(__dirname+'/404.html', function (err, html) {
        if (err) {
            throw err;
        }

        res.write(html);
        res.end();
    });


  }
  catch(er)
  {
    winston.error('Error:'+er);
  }

});

如果我在Windows机器上运行它,上面的代码工作正常。出于某种原因,当我在unix框中运行时,它不起作用。任何人都可以帮助我理解为什么会这样吗?如果您可以提供替代方法来检测目标服务器何时在http-proxy中关闭,那将是很好的。

如果您需要任何其他信息,请与我们联系。

0 个答案:

没有答案