cla*_*cke 22 ruby python reverse-proxy node.js
我正在寻找一种简单地在本地设置连接到远程站点的代理的方法.我不想在系统中安装任何东西.如果我可以通过单个命令行调用来调用它,而不是使用单个配置文件,那就太棒了.
目的是嗅探我正在开发的本地应用程序与其他人提供并使用HTTPS的远程服务器之间的流量.
最好是Ruby,Python或Node包,这样我就可以按照以下方式做一些事情:
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/
Run Code Online (Sandbox Code Playgroud)
要么
virtualenv simplest-proxy; cd simplest-proxy
bin/easy_install simplest-proxy
bin/simplest-proxy -p 8080 https://remote.site.example.com/
Run Code Online (Sandbox Code Playgroud)
要么
mkdir simplest-proxy; cd simplest-proxy
npm install simplest-proxy
node_modules/.bin/simplest-proxy -p 8080 https://remote.site.example.com/
Run Code Online (Sandbox Code Playgroud)
它将允许我的应用程序连接到localhost:8080,它将转发请求(并重写Host标题和其他任何必要的)到远程站点.我可以lo在WireShark中观看并了解发生了什么.
我已经快速浏览了pypi,rubygems和npm,但是到目前为止我发现的要么是不工作(proxylet否则看起来很有希望),用于更复杂的场景并需要设置(dj-revproxy)或期望是用正确的Host(node-reverse-proxy)调用而不是重写.
更新:我现在正在使用带有ProxyPass/ ProxyPassReverseconfig 的Apache ,但它感觉有点过分,需要使用配置文件.
更新:另一个不适用的解决方案是实际的HTTP代理,而不是模拟远程站点的代理.因为远程站点是一个HTTPS站点,这只会使我的应用程序在代理中执行CONNECT并且没有获得任何内容.
cla*_*cke 33
我的用例包括:
mitmproxy -p 8080 -P https://remote.site.example.com/
Run Code Online (Sandbox Code Playgroud)
但还有更多.它还提供了一个ncurses UI,用于显示所有已完成的请求,并允许您检查它们.这使WireShark成为不必要的.
使用您的发行版软件包安装程序或easy_install进行安装,如问题所示:
virtualenv mitmproxy; cd mitmproxy
bin/easy_install mitmproxy
bin/mitmproxy -p 8080 -P https://remote.site.example.com/
Run Code Online (Sandbox Code Playgroud)
编辑:
对于mitmproxy版本3,参数将是:
mitmproxy -p 8080 --mode reverse:https://remote.site.example.com/
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
18613 次 |
| 最近记录: |