我正在寻找一些有关如何在 Ruby 中编写支持 HTTPS 的代理的示例。我有一个使用 Webricks HTTPProxyServer 实现的简单代理,但我注意到,HTTPS 流量只是隧道(理应如此;))。但我想用VCR录制内容(关于我这里的问题VCRProxy:在Capybara中使用VCR记录PhantomJS ajax调用)并且只要内容只是通过,VCR就无法录制它。
所以我正在考虑将代理编写为中间人,动态生成 SSL 证书(我不关心证书错误,它只是用于测试),然后我就能够记录内容/稍后播放。
因此,如果有人有关于如何开始、教程或要点的良好资源,请告诉我。
PS:我已经看到了这个问题,但他们没有提供任何进一步的东西(并且它需要在 ruby 中):
一个老问题,但为了完整起见,这里有另一个答案。
我用 Ruby 实现了一个 HTTP/HTTPS 拦截代理,该项目托管在 github 。
该项目只是一个 PoC,与 Python 的 mitmproxy 相去甚远,但它支持 HTTPS 并可以动态生成证书。