Szukam sposobu na proste skonfigurowanie serwera proxy, który łączy się ze zdalną witryną. Nie chcę niczego instalować w systemie. Gdybym mógł wywołać to za pomocą pojedynczego wywołania z linii poleceń, zamiast marnować nawet jeden plik konfiguracyjny, byłoby to genialne.Najprostszy możliwy odwrotny proxy
Ma to na celu śledzenie ruchu między moją lokalną aplikacją, którą właśnie rozwijam, a serwerem zdalnym, który udostępnia inna osoba i która używa protokołu HTTPS.
Korzystnie byłoby Ruby, Python lub pakiet węzeł, tak że mogę po prostu zrobić coś wzdłuż linii:
mkdir simplest-proxy; cd simplest-proxy; bundle init
echo "gem 'simplest-proxy'" >> Gemfile; bundle --path vendor/bundle
bundle exec bin/simplest-proxy -p 8080 https://remote.site.example.com/
lub
virtualenv simplest-proxy; cd simplest-proxy
bin/easy_install simplest-proxy
bin/simplest-proxy -p 8080 https://remote.site.example.com/
lub
mkdir simplest-proxy; cd simplest-proxy
npm install simplest-proxy
node_modules/.bin/simplest-proxy -p 8080 https://remote.site.example.com/
Pozwoliłoby to mojej aplikacji połączyć się z localhost:8080
, która przesyła żądanie (i przepisać kodNagłóweki wszystko, co niezbędne) do zdalnego serwisu. Byłbym w stanie obejrzeć lo
w WireShark i dowiedzieć się, co się dzieje.
Rozejrzałem się szybko po pypi, rubygemach i npm, ale to, co do tej pory znalazłem, albo nie działało (proxylet
, które inaczej wyglądało na bardzo obiecujące), przeznaczone na dużo bardziej skomplikowany scenariusz i wymagające konfiguracji (dj-revproxy
) lub oczekujący na wywołanie z poprawnym Host
(node-reverse-proxy
) zamiast przepisywania.
AKTUALIZACJA: Wybieram teraz Apache z konfiguracją ProxyPass
/ProxyPassReverse
, ale wydaje mi się, że wymaga on ogromnej przesady i wymaga odtwarzania plików konfiguracyjnych.
AKTUALIZACJA: Innym rozwiązaniem, które nie ma zastosowania, jest rzeczywisty serwer proxy HTTP zamiast emulacji strony zdalnej. Ponieważ witryna zdalna jest witryną HTTPS, to po prostu sprawiłoby, że moja aplikacja wykona połączenie w proxy i nic nie zyska.
Pan spojrzał na skrzypka czy Karola? – pguardiario
Tak. Charles nie mógł odwrócić proxy do HTTPS, o ile mogłem to zobaczyć. Fiddler wydawał się być rzeczą tylko Windowsową, która uruchamiała się w przeglądarce, aby przezroczyście przesyłać rzeczy przez proxy. Ale znalazłem teraz mitmproxy, napiszę to jako odpowiedź. – clacke
To nie jest odwrotny serwer proxy, którego szukasz, to człowiek w środku proxy, a tak charles może działać jako taki. – pguardiario