我正在寻找一种方法来简单地在本地设置连接到远程站点的代理。我不想在系统中正确安装任何东西。如果我可以使用单个命令行调用来调用它,而不是使用单个配置文件来调用它,那就太棒了。
目的是嗅探我正在开发的本地应用程序与其他人提供的使用 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/
or
virtualenv simplest-proxy; cd simplest-proxy
bin/easy_install simplest-proxy
bin/simplest-proxy -p 8080 https://remote.site.example.com/
or
mkdir simplest-proxy; cd simplest-proxy
npm install simplest-proxy
node_modules/.bin/simplest-proxy -p 8080 https://remote.site.example.com/
它将允许我的应用程序连接到localhost:8080
,这将转发请求(并重写Host
标头和其他必要的内容)到远程站点。我可以观看lo
在 WireShark 中查看发生了什么。
我快速浏览了 pypi、rubygems 和 npm,但到目前为止我发现要么不起作用(proxylet
,否则看起来非常有前途),旨在用于更复杂的场景并且需要设置(dj-revproxy
)或期望被调用正确的Host
(node-reverse-proxy
)而不是重写。
更新:我要使用 ApacheProxyPass
/ ProxyPassReverse
现在,我已经完成了配置,但感觉太过分了,需要使用配置文件。
更新:另一种不适用的解决方案是实际的 HTTP 代理,而不是模拟远程站点。因为远程站点是 HTTPS 站点,所以这只会让我的应用程序在代理内执行 CONNECT,但不会获得任何结果。