您可以通过 nodejitsu使用node-http-proxy 。我用它来部署和配置在不同子域下运行的多个应用程序。
例子:
var express = require('express'),
https = require('https'),
proxy = require('http-proxy');
// define proxy routes
var options = {
router: {
'www.myhost.com': '127.0.0.1:8001',
'*.h.myhost.com': '127.0.0.1:8002'
}
};
// express server for www.myhost.com
var express = express.createServer();
// register routes, configure instance here
// express.get('/', function(res, req) { });
// start express server
express.listen(8001);
// vanilla node server for *.h.myhost.com
var vanilla = https.createServer(options,function(req, res){
// handle your *.h.myhost.com requests
}).listen(8002);
// start proxy
var proxyServer = httpProxy.createServer(options);
proxyServer.listen(80);
我不确定在 http-proxy 路由表 (*.h.myhost.com) 中使用通配符,但由于这些值在 node-http-proxy 中转换为正则表达式,我认为它们可以工作。