博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
node.js->http-proxy
阅读量:6236 次
发布时间:2019-06-22

本文共 1397 字,大约阅读时间需要 4 分钟。

hot3.png

/** * Created by lijunhao on 1/19/17. */var url = require("url");var proxy = require('http-proxy').createProxyServer({});// 自定义路由分发规则,从前向后匹配var rules = [    ['Static', 'http://localhost:8080', /.*\.(js|css|htm|html|gif|jpg|jpeg|png|bmp|swf|ioc|rar|zip|txt|flv|mid|doc|ppt|pdf|xls|mp3|wma|ico)$/],    ['Index', 'http://localhost:8080', /^\/$/],    ['Backend', 'http://10.10.1.14:8080', /\/.+/]];var server = require('http').createServer(function(req, res) {    // var host = req.headers.host, ip = req.headers['x-forwarded-for'] || req.connection.remoteAddress;    // console.log("Raw - client ip:" + ip + ", host:" + host + ");    var path = url.parse(req.url).pathname;    console.log(path);    for (var i in rules) {        var r = rules[i];        if (r[2].test(path)) {            console.log(path + '  ----->  ' + r[1]);            //这里的target只会替换ip和端口,而不会替换后面的            proxy.web(req, res, {target: r[1]}, function (err) {                res.writeHead(200, {                    'Content-Type': 'application/json'                });                res.end('{"msg": "代理后端异常"}');            });            return;        }    }    res.writeHead(200, {        'Content-Type': 'text/plain'    });    res.end('Welcome to proxy server!');});server.listen(3000);console.log('Proxy server started');

例如:

效果是把后端的接口代理到真实的接口。。静态文件找自己的路径好处,实现前后端分离!!!

转载于:https://my.oschina.net/lijunhao2016/blog/842117

你可能感兴趣的文章
修改ssh和ssl版本号 升级openssl
查看>>
kubernetes 拉取私有镜像 imagepullsecrets
查看>>
[转]数据交换指定实现无锁堆栈
查看>>
C语言:井字棋盘的实现
查看>>
RabbitMQ消息应答------ack机制
查看>>
我的友情链接
查看>>
IOS中的KVO机制详解
查看>>
关于未捕获异常(Uncaught Exception)的处理
查看>>
Windows2003下面文件夹带权限移动
查看>>
怎么样将自己开发的Android应用程序编译到系统Image中
查看>>
kali 安装完成后,无法进入界面
查看>>
TortoiseSvn问题汇总(持续更新)
查看>>
html5中的锚点特效
查看>>
我的友情链接
查看>>
超时机制的简单实现
查看>>
maillog中不记录收发的邮件
查看>>
CentOS 开机自动联网
查看>>
windows:查看进程路径及PID,并杀掉进程
查看>>
JSP语法之八大隐式对象
查看>>
我的友情链接
查看>>