公司动态
当前位置: 首页 > 金牛资讯 > 公司动态

nodejs 实现反向代理

类别:公司动态 日期:2023-06-19 17:18:43
我要分享
const http=require('http');
const httpProxy=require('http-proxy');
const https=require('https');
const httpsProxy=require('https-proxy-agent');

// 定义反向代理的目标地址
const target={
  host: 'www.target-server.com',
  port: 80, // 改为对应服务器的端口号
};

// 创建反向代理服务器
const proxy=httpProxy.createProxyServer();

// 创建http服务器并监听端口
http.createServer((req, res)=> {
  // 处理请求,将请求转发给目标服务器
  proxy.web(req, res, { target });
}).listen(8080, ()=> {
  console.log('http server running at port 8080');
});

// 创建https服务器并监听端口
https.createServer({
  agent: new httpsProxy({ host: '127.0.0.1', port: 8080 }),
  // https服务器需要使用证书和私钥
  key: fs.readFileSync('key.pem'),
  cert: fs.readFileSync('cert.pem'),
}, (req, res)=> {
  // 处理请求,将请求转发给目标服务器
  proxy.web(req, res, { target });
}).listen(8443, ()=> {
  console.log('https server running at port 8443');
});
登录后复制

平台注册入口