正向代理前面的反向代理

正向代理前面的反向代理

我们的企业环境基本上与互联网隔绝,除了在 运行的 HTTP(正向)代理192.168.1.2:8080。有一个防火墙,其中包含用于代理访问的 IP 白名单,并且代理本身具有每个源 IP 组的 URL 白名单。

我们希望使白名单主机可用的现有服务 ( https://example.com) 更容易被网络上其他非白名单主机访问。客户端配置应该很简单。

为了实现此目标,我们希望在白名单主机之一上设置反向代理,以便通过路由请求192.168.1.2:8080。总体而言,成功的请求将如下所示:

client
-- GET --v
  https://example.company.com
  -- CONNECT via 192.168.1.2:8080 --v
    https://example.com

我有一个小的 Python 脚本可以做到这一点,但操作起来会非常麻烦,所以值得在这里寻求建议。我们会在它前面使用 HAProxy 或其他东西来终止 TLS、配置 ACL、进行负载平衡等,那么我们有没有办法使用它来直接连接?

到目前为止我们已经检查过:

  • 配置文档,似乎没有任何由proxyhttp_proxyforward与此用例相关的配置 - 并且http_proxy代码库中的唯一实例是不相关的。
  • proxychains,但此方法无效,因为 HAProxy 仍尝试自行进行 DNS 解析,而通过192.168.1.2:8080
  • redsocks + iptables,由于同样的原因,这不是一个好的解决方案 - HAProxy 仍然会在提交请求之前尝试进行 DNS 解析。我认为这适用于任何不支持转发代理的软件。
  • 其他代理 - squidnginx似乎tinyproxy都缺乏针对此用例的配置。不可否认的是,很难从搜索结果中过滤垃圾,例如“正向代理前面的反向代理”和“指向正向代理的反向代理”

相关内容