Comment activer / configurer la prise en charge du proxy SOCKS dans apache mod_proxy (Apache2)

J’essaie de trouver une documentation sur la façon de configurer apache2 mod_proxy avec le proxy SOCKS J’ai trouvé cette page http://menet.math.ecnu.edu.cn/manual/mod/mod_proxy.html#socks Mais il s’agit de Apache version 1, et je ne suis pas sûr que la recette y s’applique toujours à la version 2

Ce que j’essaie de réaliser, c’est:

Avoir un apache2 au service de mon domaine exampleA.com et un proxy SOCKS. Ils s’exécutent tous les deux sur le serveur A. Le proxy SOCKS existe donc certaines applications sur le serveur A peuvent communiquer avec d’autres applications sur les serveurs B, C et s’exécutent sur localhost: 4000

Ce que je veux, c’est lorsque l’utilisateur visite une URL spécifique comme http://exempleA.com/spetialurl/http://exampleB.com/xxx

cette requête http sera transmise par proxy via apache mod_proxy au serveur B – mais via le proxy SOCKS ou si l’access utilisateur http://exempleA.com/spetialurl/http://exampleC.com/xxx sera envoyé par proxy au serveur C via mod_proxy via proxy SOCKS

Je peux configurer le mod_proxy pour proxy une URL spécifique aux serveurs B ou C Ce qui me manque, c’est comment configurer / dire apache2 pour utiliser le proxy SOCKS

Ces URL sur les serveurs B et C ne sont pas visibles publiquement, mais elles sont accessibles via le proxy SOCKS.

Malheureusement, vous ne pouvez pas l’utiliser directement. La chose la plus proche est la directive

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

Et pour moi ci-dessous, config fonctionne parfaitement pour un proxy http mais pas pour un proxy socks

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

Le résultat est ci-dessous

Proxy IP Apache

Ce qui montre que la demande est envoyée par proxy correctement via le proxy. Mais le faire avec un proxy socks donne 502 et je n’ai pas pu trouver une documentation disant que socks5 est supporté

Donc, votre option est d’utiliser quelque chose comme polipo

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

Vous pouvez l’utiliser comme un redirecteur de proxy ProxyRemote http->socks , puis ProxyRemote sur le port de polipo local