使用nodejs中httpProxy代理時候出現404異常

在公司中使用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

http://stackoverflow.com/questions/24465675/http-proxy-keeps-returning-404代理

相關文章
相關標籤/搜索