2017-08-29 121 views
1

我需要做一些代理髮布請求,並從此請求的目標獲得響應。這是我的server.js文件代碼:代理請求後沒有任何響應的問題。這裏是我的server.js與代理連接的部分:代理角度請求與服務節點位於azurewebsites

var httpProxy = require('http-proxy'); 
app.use(bodyParser.urlencoded({ extended: true })); 

var apiProxy = httpProxy.createProxyServer({ 
    secure: true, 
    changeOrigin: true 
}); 

app.post('/v1/*', function(req, res) { 
    apiProxy.web(req, res, { target: 
    'http://somesite.azurewebsites.net'}); 
    }); 
}); 

目前我工作在本地主機:3000,我已經測試了該代理本地主機的工作:8888(另一個本地服務器)和它的作品完美。

此外,如果我刪除changeOrigin: true有azurewebsite「頁面不存在」的404響應。 服務是可行的(與郵遞員測試)。

找不到問題。將不僅歡迎答案,而且還會提供一些關於節點&代理的其他資源。謝謝!

回答

0

我不熟悉http-proxy,但在代理某些請求時使用request可能更容易。你可以用下面的代碼做類似的事情:

var request = require('request'); 
var express = require('express'); 
var app = express(); 

app.use(bodyParser.urlencoded({ extended: true })); 

app.post('/v1/*', function(req, res) { 
    var newurl = 'http://somesite.azurewebsites.net'; 
    request(newurl).pipe(res); 
}); 

app.listen(3000);