我正在尝试查找有关如何使用SOCKS代理设置apache2 mod_proxy的文档 我找到了这个页面 http://menet.math.ecnu.edu.cn/manual/mod/mod_proxy.html#socks 但它是关于apache版本1,我不确定那里的配方是否仍然适用于版本2
我想要实现的目标是:
为我的域exampleA.com和SOCKS代理提供apache2服务。它们都在服务器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 这也将通过SOCKS代理
通过mod_proxy代理到服务器C.我可以配置mod_proxy来代理服务器B或C的specyfic网址 我缺少的是如何配置/告诉apache2使用SOCKS代理
服务器B和C上的这些网址不公开,但可以通过SOCKS代理访问它们
答案 0 :(得分: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
结果如下
这表明通过代理正确代理了请求。但使用socks代理执行此操作会产生502,我找不到支持socks5
的文档
因此,您可以选择使用polipo
https://www.irif.fr/~jch/software/polipo/
您可以将其用作http->socks
代理转发器,然后ProxyRemote
用于本地polipo端口