close
目的
使存取localhost:5000/app/app1 轉到localhost:3000
使存取localhost:5000/app/app2 轉到localhost:3001
這樣...
var express = require('express'); var app = express(); var http = require('http'), httpProxy = require('http-proxy'); app.set('port', process.env.PORT || 5000); var proxy = httpProxy.createProxyServer(); app.all('/app1/*', function(req, res, next){ console.log(req.url); req.url = req.url.slice(5); proxy.web(req, res, { target: 'http://127.0.0.1:3000' }, function(e) { console.log(e); }); }); app.all('/app2/*', function(req, res, next){ console.log(req.url); req.url = req.url.slice(5); proxy.web(req, res, { target: 'http://127.0.0.1:3001' }, function(e) { console.log(e); }); }); http.createServer(app).listen(app.get('port'), function() { console.log('Express server listening on port ' + app.get('port')); });
使用這段Code,可以將存取
localhost:5000/app1/ 的動作轉到localhost:3000/
localhost:5000/app2/ 的動作轉到localhost:3001/
這裡要注意的是app1中所有的html以及js都必須使用相對url位置存取
比如,在node.js 中的app.js
不可以用res.redirect('/index.html'); 要用res.redirect('index.html');
比如,網頁的Javascript
不可以用 $.ajax({ url: '/musicbox', 要用 $.ajax({ url: 'musicbox',
使用相對位置,則使用reverse proxy就不會因為位置不對而無法存取。
文章標籤
全站熱搜