在公司中使用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異常的解決方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持。