2016-04-11 23 views
3

Vekilin hedefi bir yönlendirme (bu durumda 301) verirse, vekil sunucuya bunu iletir. İstemci daha sonra gerçek etki alanına yönlendirilir ve artık proxy kullanılmaz. Bu yönlendirmenin istemciyi etkilemesini engellemenin bir yolu var mı? Proxy'nin yönlendirmeyi takip etmesini istiyorum, ancak istemcinin bu yönlendirmeyi takip ederken proxy'den ayrılmasını istemiyorum.Hedeften gelen 301 yönlendirmeyi node-http-proxy ile nasıl önleyebilirim?

Örnek vaka:

Ben fake-proxy.example üzerinde çalışan bir proxy mevcut varsayalım. Hedefi bir sunucu ipine ayarlarken ve ana bilgisayarı bu sunucudaki bir etki alanına ayarlarken, proxy, http aracılığıyla bağlanmaya çalışır. Etki alanı http trafiğini https'a yönlendirmek üzere ayarlanmıştır ve https ile aynı etki alanına 301 yönlendirmesi yayınlar. Bu yönlendirme istemciye geri gönderilir ve istemci fake-proxy.example'dan ayrılır ve gerçek etki alanına gider (bu sorunun cevabı için, real-domain.example diyelim). Ayarlarım:

var options = { 
    target: { 
     host: '1.1.1.1' 
    }, 
    headers: { 
     host: 'real-domain.example' 
    }, 
    autoRewrite: false, 
    hostRewrite: false, 
    protocalRewrite: false 
}; 

Yardımı takdir ediyorum!

+0

Bu konuda herhangi bir şans? – brownmamba

+0

Ben de bununla savaşıyorum. Kararlı olmasını istiyorum. Gerçek etki alanlarına yönlendirmeden .. – outluch

cevap

0

Biraz geç, ama kimse bu yazı rastlamak olanlar yardımcı olabilecek aşağıdaki gibi bir çözüm:

tabii, kurabiye ve benzerleri Of
var http = require('http'); 
var url = require('url'); 
var request = require('request'); 

var host = 'http://real-domain.example'; 

http.createServer(onRequest).listen(3080); 

function onRequest(req, res) { 
    var url_parts = url.parse(req.url); 
    request({ 
     url: host + url_parts.pathname 
    }).on('error', function(e) { 
     res.end(e); 
    }).pipe(res); 
} 

korunmuş yapılmaz ve muhtemelen bazıları kaybeder işlevsellik sanırım, ama en azından , gibi proxy etki alanınızdan yeniden yönlendirilmeyecektir.