Ich bin auf der Suche nach einer Möglichkeit, einfach lokal einen Proxy einzurichten, der eine Verbindung zu einer Remote-Site herstellt. Ich möchte nichts im System installieren. Wenn ich es mit einem einzigen Befehlszeilenaufruf aufrufen könnte, anstatt selbst mit einer einzigen Konfigurationsdatei zu arbeiten, wäre das großartig.Der einfachste mögliche Reverse-Proxy
Der Zweck besteht darin, den Verkehr zwischen meiner lokalen Anwendung, die ich entwickle, und dem Remote-Server, der jemand anderen bereitstellt und der HTTPS verwendet, zu erkennen.
Vorzugsweise wäre es ein Ruby, Python oder Node-Paket sein, so dass ich nur entlang der Linien von etwas tun könnte:
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/
oder
virtualenv simplest-proxy; cd simplest-proxy
bin/easy_install simplest-proxy
bin/simplest-proxy -p 8080 https://remote.site.example.com/
oder
mkdir simplest-proxy; cd simplest-proxy
npm install simplest-proxy
node_modules/.bin/simplest-proxy -p 8080 https://remote.site.example.com/
Es würde meiner App ermöglichen, eine Verbindung zu localhost:8080
herzustellen, die die Anforderung weiterleiten (und dieneu schreiben würde)Header und was auch immer sonst notwendig) zur entfernten Seite. Ich wäre in der Lage, lo
in WireShark zu sehen und herauszufinden, was los ist.
Ich habe einen kurzen Blick um in pypi, rubygems und npm hatte, aber was ich bisher gefunden wurde entweder nicht funktioniert (proxylet
, die sonst sehr vielversprechend aussah), für ein viel komplizierteres Szenario gedacht und erfordert Setup (dj-revproxy
) oder erwarten, mit einer korrekten Host
(node-reverse-proxy
) aufgerufen werden, anstatt neu zu schreiben.
UPDATE: Ich gehe mit einem Apache mit einer ProxyPass
/ProxyPassReverse
Konfiguration für jetzt, aber es fühlt sich massiv übertrieben und erfordert das Spielen mit Konfigurationsdateien.
AKTUALISIERUNG: Eine andere Lösung, die nicht anwendbar ist, ist ein tatsächlicher HTTP-Proxy und nicht eine Emulation der Gegenstelle. Da es sich bei der Remote-Site um eine HTTPS-Site handelt, würde dies dazu führen, dass meine App innerhalb des Proxys eine Verbindung herstellt, und es wurde nichts gewonnen.
Haben Sie bei Fiedler oder charles geschaut? – pguardiario
Ja. Charles konnte, so weit ich sehen konnte, kein Reverse-Proxy zu HTTPS machen. Fiddler schien wie eine Windows-einzige Sache, die in den Browser sprang, um Dinge transparent durch den Proxy zu senden. Aber ich habe jetzt mitmproxy gefunden, werde das als Antwort schreiben. – clacke
Es ist kein Reverse-Proxy, nach dem Sie suchen, es ist ein Mann im mittleren Proxy, und ja, Charles kann als solcher agieren. – pguardiario