【问题标题】:HTTP/S proxy starting point [closed]HTTP/S 代理起点 [关闭]
【发布时间】:2011-01-02 08:12:43
【问题描述】:

我想制作一个 HTTP/S 代理程序,根据我在 C++ 中解析 HTTP 请求的方式过滤/拒绝某些 HTTP 流量。

是否有某种起始代码可以通过开放许可用于商业用途? 例如,如果我想做一个搜索项目,我会从 lucene 开始。

【问题讨论】:

标签: c++ http proxy https


【解决方案1】:

您无法在 HTTPS 流量的代理上看到请求 - SSL 专门用于防止这种情况发生。

您可以在代理上终止 SSL 连接,但需要在返回客户端之前将内容中的所有 URL 重写为非 SSL,或者在所有客户端上安装您的 skae oil CA Cert 并在其上生成证书苍蝇。

如果你只是想玩弄 HTTP,那么 SQUID 已经内置了钩子来实现你自己的过滤机制。

C.

【讨论】:

  • 能否从代理的 HTTPS 请求中获取请求 URL?
  • 否 - “您在代理上看不到 HTTPS 流量的请求”C.
【解决方案2】:

nginx 是一个用 C 语言编写的高性能 HTTP/S 服务器,可以用作代理。

它有一个易于使用的module system for which you can write plugins。您应该考虑使用像 Ragel 这样的现有解析器来帮助您进行过滤。

它在BSD-like license 下获得许可,可用于商业用途。

【讨论】:

    【解决方案3】:

    看看Squid (developers section)。

    Squid 是 Web 的缓存代理 支持 HTTP、HTTPS、FTP 等。 它减少了带宽并提高了 通过缓存和重用的响应时间 经常请求的网页。乌贼 具有广泛的访问控制和 做一个很棒的服务器加速器。它 在大多数可用的操作上运行 系统,包括 Windows 并且是 在 GNU GPL 下获得许可。

    【讨论】:

    • +1 表示“标准”解决方案。
    猜你喜欢
    • 2018-02-10
    • 2018-03-14
    • 1970-01-01
    • 2010-09-10
    • 2013-05-03
    • 2018-06-16
    • 2016-11-24
    • 2017-07-23
    相关资源
    最近更新 更多