node怎么做反向代理?
在实际工程开发中,会有前后端分离的需求。使用node.js反向代理的目的:实现前后端分离,前端减少路径请求的所需的路由文件。
一. 反向代理的应用场景
1. 静态资源与动态资源分离 e.g. 图片服务器
2. AJAX跨域访问
3. 搭建统一服务网关接口
二. 使用node.js实现反向代理
1. 安装http-proxy模块
npm install http-proxy2. 使用http-proxy模块启动代理服务器
// 导入http模块
var http = require('http');
// 导入http-proxy模块
var httpProxy = require('http-proxy');
// 提供服务的端口号
var PORT = 1234;
// 创建反向代理服务
var proxy = httpProxy.createProxyServer();
// 监听错误事件
proxy.on('error', function (err, req, res) {
// 输出空白响应数据
res.write('error!');
res.end();
});
// 创建服务
var app = http.createServer(function (req, res) {
// 执行反向代理
proxy.web(req, res, {
// 目标地址
target: 'http://localhost:8080'
});
});
// 启动服务
app.listen(PORT, function () {
console.log('server is running at %d', PORT);
});总结:
创建了一个提供反向代理功能的服务器,该服务器启动后监听1234端口,接收到请求之后,将请求转发至目标地址(target)
三个步骤:
1) 创建反向代理服务
2) 创建服务器,提供反向代理服务
3) 启动服务器,监听指定端口
本文内容仅供个人学习、研究或参考使用,不构成任何形式的决策建议、专业指导或法律依据。未经授权,禁止任何单位或个人以商业售卖、虚假宣传、侵权传播等非学习研究目的使用本文内容。如需分享或转载,请保留原文来源信息,不得篡改、删减内容或侵犯相关权益。感谢您的理解与支持!