14

我正在尝试查找有关如何使用 SOCKS 代理设置 apache2 mod_proxy 的文档 我找到了这个页面 http://menet.math.ecnu.edu.cn/manual/mod/mod_proxy.html#socks 但它是关于apache 版本 1,我不确定那里的配方是否仍然适用于版本 2

我想要实现的是:

有一个 apache2 为我的域 exampleA.com 和 SOCKS 代理服务。它们都在服务器 A 上运行。SOCKS 代理在那里,因此服务器 A 上的一些应用程序可以与服务器 B、C 上的其他应用程序通信,并且它在 localhost:4000 上运行

我想要的是当用户访问特定的网址时,例如 http://exempleA.com/spetialurl/http://exampleB.com/xxx

此 http 请求将通过 apache mod_proxy 代理到服务器 B - 但通过 SOCKS 代理或如果用户访问 http://exempleA.com/spetialurl/http://exampleC.com/xxx 这将通过 mod_proxy 代理到服务器 C通过 SOCKS 代理

我可以将 mod_proxy 配置为将特定 URL 代理到服务器 B 或 C 我缺少的是如何配置/告诉 apache2 使用 SOCKS 代理

服务器 B 和 C 上的这些 url 不公开可见,但可以通过 SOCKS 代理访问

4

1 回答 1

3

不幸的是,您不能直接使用它。最接近的东西是下面的指令

http://httpd.apache.org/docs/2.2/mod/mod_proxy.html#proxyremote

对我来说,下面的配置非常适合http代理,但不适用于socks代理

ProxyPass / http://ipinfo.io/
ProxyPassReverse / http://ipinfo.io/
ProxyRequests On
RequestHeader set Host "ipinfo.io"
ProxyRemote http http://185.93.3.123:8080

结果如下

IP 代理 Apache

这表明请求已通过代理正确代理。但是使用 socks 代理会导致 502,并且我找不到socks5支持的文档

所以你的选择是使用类似的东西polipo

https://www.irif.fr/~jch/software/polipo/

您可以将其用作http->socks代理转发器,然后ProxyRemote到本地 polipo 端口

于 2018-05-08T07:33:34.737 回答