在公司中使用nodejs构建代理服务器实现前后台分离,代码不能拿出来,然后出现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);
然后如期运行正确。
以上这篇使用nodejs中httpProxy代理时候出现404异常的解决方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持北冥有鱼。
您可能感兴趣的文章:
- Nodejs异步回调的优雅处理方法
- 浅谈NodeJs之数据库异常处理
- 解析Node.js异常处理中domain模块的使用方法
- Node.js 异步异常的处理与domain模块解析
- NodeJS处理Express中异步错误
- 使用Raygun对Node.js应用进行错误处理的方法
- Node错误处理笔记之挖坑系列教程
- Nodejs异步回调之异常处理实例分析