為什么要反向代理?Nginx/Apache反向代理
直接進入正題:
1.下載http-proxy
cnpm install http-proxy --save-dev
2.在項目下面新建一個app.js文件,內(nèi)容如下:
var http = require('http'), httpProxy = require('http-proxy');
// 新建一個代理 Proxy Server 對象
var proxy = httpProxy.createProxyServer({});
// 捕獲異常
proxy.on('error', function (err, req, res) {
res.writeHead(500, {
'Content-Type': 'text/plain'
});
res.end('Something went wrong. And we are reporting a
custom error message.');
});
// 在每次請求中,調(diào)用 proxy.web(req, res config) 方法進行請求分發(fā)
var server =http.createServer(function(req, res) {
// 在這里可以自定義你的路由分發(fā)
var host = req.headers.host
switch(host){
case 'www.veblen.com':
proxy.web(req, res, { target: 'http://localhost:3000' });
break;
case 'boy.veblen.com':
proxy.web(req, res, { target: 'http://localhost:9527' });
break;
default:
res.writeHead(200, {
'Content-Type': 'text/plain'
});
res.end('Welcome to my server!');
}
});
console.log("listening on port 80")
server.listen(80);
縮進敲的夠直觀了,且行且珍惜!