美文网首页
使用nodejs做反向代理服务器

使用nodejs做反向代理服务器

作者: veb001 | 来源:发表于2018-07-17 17:29 被阅读20次

    index

    使用nodejs做反向代理服务器 __veblen

    为什么要反向代理?Nginx/Apache反向代理

    直接进入正题:

    1.下载http-proxy

    cnpm install http-proxy --save-dev
    
    

    2.在项目下面新建一个app.js文件,内容如下:

     var http = require('http'), httpProxy = require('http-proxy');  
    
      // 新建一个代理 Proxy Server 对象  
      var proxy = httpProxy.createProxyServer({});  
    
      // 捕获异常  
      proxy.on('error', function (err, req, res) {  
            res.writeHead(500, {  
                'Content-Type': 'text/plain'  
            });  
           res.end('Something went wrong. And we are reporting a         
           custom error message.');  
     });  
    
     // 在每次请求中,调用 proxy.web(req, res config) 方法进行请求分发  
     var server =http.createServer(function(req, res) {  
    
          // 在这里可以自定义你的路由分发  
          var host = req.headers.host     
          switch(host){  
             case 'www.veblen.com':   
                  proxy.web(req, res, { target: 'http://localhost:3000' });  
                  break;  
             case 'boy.veblen.com':  
                 proxy.web(req, res, { target: 'http://localhost:9527' });  
                 break;
             default:  
                 res.writeHead(200, {  
                     'Content-Type': 'text/plain'  
                 });  
               res.end('Welcome to my server!');  
          }  
    
     });  
    
     console.log("listening on port 80")  
     server.listen(80);
    
    

    缩进敲的够直观了,且行且珍惜!

    相关文章

      网友评论

          本文标题:使用nodejs做反向代理服务器

          本文链接:https://www.haomeiwen.com/subject/esegpftx.html