Home > Backend Development > PHP Tutorial > Use nodejs instead of nginx as reverse proxy

Use nodejs instead of nginx as reverse proxy

WBOY
Release: 2016-07-29 09:13:10
Original
1221 people have browsed it
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);
Copy after login

The above introduces the use of nodejs instead of nginx as a reverse proxy, including the require content. I hope it will be helpful to friends who are interested in PHP tutorials.

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template