代理角度请求与服务节点位于azurewebsites
问题描述:
我需要做一些代理发布请求,并从此请求的目标获得响应。这是我的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响应。 服务是可行的(与邮递员测试)。
找不到问题。将不仅欢迎答案,而且还会提供一些关于节点&代理的其他资源。谢谢!
答
我不熟悉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);