Wednesday 15 April 2015

node.js - Using node-http-proxy, changing url with proxyRequest -


एक को संशोधित करते समय ...

समस्या: मैन्युअल रूप से बदलते समय एक दूरस्थ होस्ट ('example.com') के लिए req.headers.host , ब्राउज़र में यूआरएल बदल नहीं रहा है।

ध्यान दें: मैंने सोचा था कि यह काम कर रहा था, हालांकि मेरे उदाहरण के रूप में google.com का उपयोग करते हुए, यह पता चला कि Google प्रॉक्सी का पता लगा रहा था और होस्ट को बदल रहा था।

प्रश्न: ब्राउज़र में यूआरएल को एक रिमोट होस्ट (यानी example.com) में बदलने का कोई तरीका है? धन्यवाद!

  var util = require ('util'), colors = need ('colors'), http = need ('http'), httpProxy = require ('../ .. / lib / नोड http-प्रॉक्सी '); // प्रोटीकएक्वेस्ट हैंडलर और लेटेंसी के साथ एचटीपी सर्वर // var प्रॉक्सी = नई httpProxy.RoutingProxy (); Http.createServer (function (req, res) {req.headers.host = 'example.com'; // मैन्युअल रूप से सेटिंग example.com var बफर = httpProxy.buffer (req); setTimeout (फ़ंक्शन () {प्रॉक्सी.proxyRequest ( Req, res, {port: 80, host: 'example.com', बफर: बफ़र})}}, 200);})। सुनो (8004); Util.puts ('http server' .blue + 'शुरू' .green.bold + 'पोर्ट पर' .blue + '8004' .yellow + 'प्रॉक्सीरुइस्ट हैंडलर' .cyan.underline + 'और विलंबता'। मैजेन्टा); Util.puts ('http सर्वर' .blue + 'शुरू' .green.bold + 'पोर्ट पर' .blue + '9000' .yellow);    

कुछ समाधान जो यह करेंगे:

    < Li> एक 301 पुनर्निर्देशन जारी करें।
  • DNAT में IPTables का उपयोग करें और डिसाइनिंग पता बदलें।
  • पैकेट को संशोधित किए बिना अनुरोधों को पारदर्शी रूप से प्रॉक्सी करने के लिए TPROXY का उपयोग करें।

No comments:

Post a Comment