首页 > 后端开发 > php教程 > 用nodejs替代nginx做反向代理

用nodejs替代nginx做反向代理

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
发布: 2016-07-29 09:13:10
原创
1255 人浏览过
var http = <strong>require</strong>('http'), httpProxy = <strong>require</strong>('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.');
});
 
// 另外新建一个 HTTP 80 端口的服务器,也就是常规 Node 创建 HTTP 服务器的方法。
// 在每次请求中,调用 proxy.web(req, res config) 方法进行请求分发Create your custom server and just call `proxy.web()` to proxy
// a web request to the target passed in the options
// also you can use `proxy.ws()` to proxy a websockets request
//
var server = <strong>require</strong>('http').createServer(function(req, res) {
 // You can define here your custom logic to handle the request
 // and then proxy the request.
 //var host = req.url;
 //host = url.parse(host); host = host.host;
  
 console.log("host:" + req.headers.host);
 console.log("client ip:" + (req.headers['x-forwarded-for'] || req.connection.remoteAddress));
  
 proxy.web(req, res, { target: 'http://localhost:9080',xfwd : 'true' });
});
 
console.log("listening on port 80")
server.listen(80);
登录后复制

以上就介绍了用nodejs替代nginx做反向代理,包括了require方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

相关标签:
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板