我需要调用该nodejs并带有将其代理到另一台服务器的请求,因此我可以从前端调用我的nodejs,并将该调用定向到另一台服务器。
当前的代码对于正常的http调用非常有效,但是当我尝试使用https时,它只会失败
因此从前端开始,我将创建并进行ajax调用,如下所示:
/ rest / somestuff ...
然后,nodejs将使用代理请求捕获“ / rest”并将其转换为调用我的真实后端服务器。
var express = require('express'),
proxy = require('http-proxy'),
app = express(express.logger()),
port = process.env.PORT || 10003,
proxyHost = process.env.PROXY_HOST || 'https://myserver.com',
proxyPort = process.env.PROXY_PORT || '443',
httpProxy = new proxy.RoutingProxy();
app.configure(function(){
app.use(express.methodOverride());
app.use(express.static(__dirname + '/dist', { maxAge: 600000 }));
app.use(express.errorHandler({
dumpExceptions: true,
showStack: true
}));
app.use(app.router);
app.use(function(req, res, next){
if (req.url.match(/\/rest\/(.*)/)) {
req.headers.host = proxyHost;
req.url = '/' + req.url.split('/').slice(2).join('/');
httpProxy.proxyRequest(req, res, {
host: proxyHost,
port: proxyPort
});
} else {
next();
}
});
body buffering
app.use(express.bodyParser());
});
app.listen(port);
我只想知道如何使用https进行相同操作。希望这只是一件小事,需要改变:-)
我希望有人可以帮助我吗?