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