怎么用nodejs搭建一个代理服务器?

需求是这样的:

需要用nodejs
搭建一个代理服务器,要检测可用的端口,然后将本级地址:端口代理到制定的第三方地址,可以接受或者发送http请求
思路是啥?谢谢
阅读 3.9k
2 个回答
var net = require('net')

function start (port) {
  // 创建服务并监听该端口
  var server = net.createServer().listen(port)

  server.on('listening', function () { // 执行这块代码说明端口未被占用
    console.log('The port【' + port + '】 is available.')
    console.log('do your proxy job');
    // job(); 开始你的代理服务
  })

  server.on('error', function (err) {
    if (err.code === 'EADDRINUSE') { // 端口已经被使用
      console.log('The port【' + port + '】 is occupied, will auto generate another port:' + (++port); // 生成一个新的port
      server.close();
      start(port); // 重启~~~~
    }
  })
}

// 执行
start(8905)

以上就是一个端口检测,并重新生成一个可用端口的一个思路;

哦,还有代理,这个更简单啦,用http-proxy配置即可

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题