I\'m trying to do something like this:
// Setup prox to handle blog requests
httpProxy.createServer({
hostnameOnly: true,
router: {
\'http://
A very straightforward solution which works seamlessly, and with cookies/authentication as well, using express-http-proxy
:
var proxy = require('express-http-proxy');
var blogProxy = proxy('localhost/blog:2368', {
forwardPath: function (req, res) {
return require('url').parse(req.url).path;
}
});
And then simply:
app.use("/blog/*", blogProxy);
I know I'm late to join this party, but I hope this helps someone.
Using http-proxy 1.0 with express:
var httpProxy = require('http-proxy');
var apiProxy = httpProxy.createProxyServer();
app.get("/api/*", function(req, res){
apiProxy.web(req, res, { target: 'http://google.com:80' });
});
I got this working.
npm install http-proxy
in your web appCreate wildcard route for /blog* that proxies requests to Ghost service
var httpProxy = require('http-proxy');
var proxy = new httpProxy.RoutingProxy();
app.get('/blog*', function (req, res, next) {
proxy.proxyRequest(req, res ,{
host: 'moserlap.splitvr.com',
port: 2368
});
});
Update the Ghost config to use a sub directory (only supported in 0.4.0+)
config = {
// ### Development **(default)**
development: {
// The url to use when providing links to the site, E.g. in RSS and email.
url: 'http://127.0.0.1/blog',
...
You should now be able to hit http://yoursite.com/blog and all routes work.
I have used simple solution to proxified my GET/POST requests.
var httpProxy = require('http-proxy');
var apiProxy = httpProxy.createProxyServer();
app.post("/api/*", function(req, res) {
apiProxy.web(req, res, { target: 'http://localhost:5000'})
});
app.get("/api/*", function(req, res) {
apiProxy.web(req, res, { target: 'http://localhost:5000'})
});
another easier way to handle all type of requests is:
app.all("/api/*", function(req, res) {
apiProxy.web(req, res, { target: 'http://localhost:5000'})
});
NOTE: above functions must be before bodyparser.