NodeJS HTTPS 代理(http-proxy)未接收请求

问题描述 投票:0回答:0

我正在尝试制作一个 HTTPS 代理服务器,它可以拦截我的网络浏览器中的 make 请求并将我重定向到其他地方。下面的代码,当修改为

http
而不是
https
时,效果很好。但是,下面的程序根本不接收 HTTPS 请求。有什么建议吗?

const https = require('https');
const httpProxy = require('http-proxy');
const url = require('url');
const fs = require('fs');

const sslOptions = {
  cert: fs.readFileSync('cert.pem'),
  key: fs.readFileSync('key.pem'),
};

const proxy = httpProxy.createProxyServer({});

const server = https.createServer(sslOptions, (req, res) => {
  const parsedUrl = url.parse(req.url);

  console.log('Original URL:', req.url);
  console.log('Modified URL:', url.format(parsedUrl));

  proxy.web(req, res, {
    target: 'https://' + req.headers.host,
    headers: req.headers,
  });
});

proxy.on('error', (err, req, res) => {
  console.error('Proxy Error:', err);
  res.writeHead(500, {
    'Content-Type': 'text/plain',
  });
  res.end('Something went wrong.');
});

server.listen(3000, () => {
  console.log('HTTPS proxy server listening on port 3000');
});

提前致谢:)

node.js https proxy http-proxy
© www.soinside.com 2019 - 2024. All rights reserved.