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.');}); // 另外建立一個 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 = require('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做反向 Proxy,包括了require方面的內容,希望對PHP教程有興趣的朋友有所協助。