Node.js httpProxy代理404错误排查与修复

作者:接口漫谈

时间:2026-10-30

浏览:354

本文介绍在使用Node.js构建前后台分离的代理服务器时,httpProxy模块常出现的404错误问题。通过删除请求头中的Host字段,可有效解决因目标服务器对Host校验严格导致的代理失败。

文章目录

Node.js httpProxy代理404错误排查与修复

在公司内部使用Node.js构建代理服务器以实现前后台分离时,由于代码保密原因无法公开,但在配置httpProxy代理资源时频繁遇到404错误。尽管被代理的接口本身存在,但请求仍无法正确转发。相关代码示例如下:


var http = require('http'),
  httpProxy = require('http-proxy');

var proxy = httpProxy.createProxyServer({});

var server = http.createServer(function(req, res) {
 
 
 proxy.web(req, res, { target: 'http://www.cnblogs.com/xiaopen/' });
});

console.log("listening on port 5050")
server.listen(5050);

执行后通常会报错或返回404状态码。

解决方案:

在代理请求配置中,主动删除请求头中的Host字段。改进后的代码如下:


var http = require('http'),
  httpProxy = require('http-proxy');

var proxy = httpProxy.createProxyServer({});

var server = http.createServer(function(req, res) {
 
 delete req.headers.host;
 proxy.web(req, res, { target: 'http://www.cnblogs.com/xiaopen/' });
});

console.log("listening on port 5050")
server.listen(5050);

修改后,代理请求即可按预期正常运行。

以上即为Node.js中httpProxy代理出现404异常的解决方法,希望对大家有帮助。

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章