I'm trying to do something like this:
// Setup prox to handle blog requests
httpProxy.createServer({
hostnameOnly: true,
router: {
'http://localhost': '8080',
'http://localhost/blog': '2368'
}
}).listen(8000);
Previously I was using this:
http.createServer(app).listen(app.get('port'), function(){
console.log("Express server listening on port " + app.get('port'));
});
Basically, I want to still use express... but, when people go to http://localhost/blog
get taken to the blog but still be served over port 8080
(which will eventually be port 80)
So I switched it to this and it worked better. The problem is that express takes over the routing (from what I can tell)
var options = {
// pathnameOnly: true,
router: {
'localhost': 'localhost:8080',
'localhost/blog': 'localhost:2368'
}
}
// Setup prox to handle blog requests
var proxyServer = httpProxy.createServer(options);
proxyServer.listen(9000);
require('./app/server/router')(app);
http.createServer(app).listen(app.get('port'), function(){
console.log("Express server listening on port " + app.get('port'));
});
I got this working.
npm install http-proxy
in your web appCreate wildcard route for /blog* that proxies requests to Ghost service
Update the Ghost config to use a sub directory (only supported in 0.4.0+)
You should now be able to hit http://yoursite.com/blog and all routes work.