使用node.js实现反向代理

一. 反向代理的应用场景

1. 静态资源与动态资源分离 e.g. 图片服务器

2. AJAX跨域访问

3. 搭建统一服务网关接口

二. 使用node.js实现反向代理

1. 安装http-proxy模块

npm install http-proxy

2. 使用http-proxy模块启动代理服务器

 1 // 导入http模块
 2 var http = require(‘http‘);
 3 // 导入http-proxy模块
 4 var httpProxy = require(‘http-proxy‘);
 5 
 6 // 提供服务的端口号
 7 var PORT = 1234;
 8 
 9 // 创建反向代理服务
10 var proxy = httpProxy.createProxyServer();
11 // 监听错误事件
12 proxy.on(‘error‘,function (err,req,res) {
13     // 输出空白响应数据
14     res.write(‘error!‘);
15     res.end();
16 });
17 
18 // 创建服务
19 var app = http.createServer(function (req,res) {
20     // 执行反向代理
21     proxy.web(req,res,{
22         // 目标地址
23         target: ‘http://localhost:8080‘
24     });
25 });
26 
27 // 启动服务
28 app.listen(PORT,function () {
29     console.log(‘server is running at %d‘,PORT);
30 });

总结:创建了一个提供反向代理功能的服务器,该服务器启动后监听1234端口,接收到请求之后,将请求转发至目标地址(target)

三个步骤:

1) 创建反向代理服务

2) 创建服务器,提供反向代理服务

3) 启动服务器,监听指定端口

3. 效果

分享图片

访问localhost:1234之后,反向代理服务器会将请求转发至localhost:8080

相关文章

这篇文章主要介绍“基于nodejs的ssh2怎么实现自动化部署”的...
本文小编为大家详细介绍“nodejs怎么实现目录不存在自动创建...
这篇“如何把nodejs数据传到前端”文章的知识点大部分人都不...
本文小编为大家详细介绍“nodejs如何实现定时删除文件”,内...
这篇文章主要讲解了“nodejs安装模块卡住不动怎么解决”,文...
今天小编给大家分享一下如何检测nodejs有没有安装成功的相关...