nodejs请求转发
时间: 2023-11-11 20:03:55 浏览: 45
在 Node.js 中,可以使用 http 模块来进行请求转发。具体实现步骤如下:
1. 引入 http 模块:`const http = require('http');`
2. 创建一个 http 服务器:`const server = http.createServer();`
3. 监听该服务器的 request 事件:`server.on('request', (req, res) => { ... });`
4. 在 request 事件回调函数中,使用 http 模块的 request 方法向目标服务器发送请求,并将响应数据返回给客户端。
以下是一个简单的示例代码:
```javascript
const http = require('http');
const server = http.createServer();
server.on('request', (req, res) => {
const options = {
hostname: 'www.example.com',
port: 80,
path: req.url,
method: req.method,
headers: req.headers
};
const proxyReq = http.request(options, (proxyRes) => {
res.writeHead(proxyRes.statusCode, proxyRes.headers);
proxyRes.pipe(res);
});
req.pipe(proxyReq);
});
server.listen(8080, () => {
console.log('Server is running at http://localhost:8080');
});
```