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

需求是这样的:

需要用nodejs
搭建一个代理服务器,要检测可用的端口,然后将本级地址:端口代理到制定的第三方地址,可以接受或者发送http请求
思路是啥?谢谢
阅读 1.5k
评论
    2 个回答
    • 2.7k
    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配置即可

      • 436
        撰写回答

        登录后参与交流、获取后续更新提醒