2009-01-23 9 views
1

J'ai besoin de trouver un moyen de transférer du trafic sur le port 80 à tinyproxy fonctionnant sur un port distinct. Nous avons un client qui travaille derrière un pare-feu très strict avec seulement le port 80 ouvert (et ne peut pas accéder à des sites comme meebo.com, etc). J'espérais pouvoir créer un CNAME sur notre domaine et un hôte virtuel sur Apache, attraper la requête pour ce nouveau CNAME et transférer le trafic directement à tinyproxy fonctionnant sur la même boîte.Utilisation du proxy Apache pour acheminer le trafic vers tinyproxy

Je sais que tinyproxy est configuré et fonctionne correctement, cependant, lorsque j'essaie de passer dans mon trafic via Apache, je ne vois même pas de trafic.

Quelqu'un at-il une solution proposée? Voici mon entrée VirtualHost:

<VirtualHost *:80> 
    ServerName sub.domain.com 
    ProxyPass/http://127.0.0.1:50001/ 
    ProxyPassReverse/http://127.0.0.1:50001/ 
</VirtualHost> 

où Tinyproxy est en cours d'exécution sur le port 50001.

Répondre

0

Je ne pense pas que ça va être possible.

ProxyPass est destiné au proxy opaque des serveurs Web, sans redirection vers un proxy. Mais cela a peut-être fonctionné, sauf que AFAIK VirtualHost ne peut être identifié que par l'en-tête Host: dans la requête http, ce qui ne fonctionne que pour la requête réelle. En d'autres termes, les clients définiront un en-tête Host: pour le site qu'ils souhaitent atteindre, afin que votre virtualHost ne soit jamais utilisé.

0

Pour clarifier, le nom d'hôte de votre domaine est http://sub.domain.com/ ... et vous avez vérifié que Tinyproxy sert votre site sur demande par tinyproxyhost: 50001? J'envisagerais d'utiliser iptables sur votre passerelle pour sélectivement des requêtes NAT destinées à sub.domain.com sur le port 80 à tinyproxyhost sur le port 50001. En supposant que sub.domain.com soit à l'adresse 12.34.56.78, et que tinyproxy soit en cours d'exécution sur 10.11.12.13:

 
iptables -t nat -A PREROUTING -p tcp -d 12.34.56.78 --dport 80 -j DNAT \ 
    --to 10.11.12.13:50001 

Si vous voulez vraiment continuer à utiliser Apache pour cela, vous êtes sûr que vous avez activé mod_proxy complètement? Assurez-vous d'avoir les éléments suivants dans votre config aussi:

 
ProxyRequests Off 


Order deny,allow 
Allow from all 

Qu'est-ce qui se passe lorsque vous essayez d'accéder http://sub.domain.com dans cette configuration? Quelle sortie obtenez-vous dans votre Apache access_log et error_log?