在公司中使用nodejs構建代理服務器實現先後臺分離,代碼不能拿出來,而後出現httpProxy代理資源的時候總是出現404.明明被代理的接口是存在的。代碼大概以下:node
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錯誤碼。web
解決方案:服務器
在代理請求中,把請求頭中的host給刪除,改進代碼以下:ui
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);
而後如期運行正確。spa
代理