Использование Apache-прокси для перенаправления трафика на tinyproxy - PullRequest
1 голос
/ 23 января 2009

Мне нужно найти способ прокси некоторого трафика через порт 80 для крошечного прокси, работающего на отдельном порту. У нас есть клиент, работающий за очень строгим брандмауэром с открытым только портом 80 (и не может попасть на такие сайты, как meebo.com и т. Д.). Я надеялся, что смогу создать CNAME для нашего домена и виртуального хоста на apache, перехватить запрос для этого нового CNAME и перенаправить трафик прямо на tinyproxy, работающий на том же компьютере.

Я знаю, что tinyproxy настроен и работает правильно, однако, когда я пытаюсь передать свой трафик через Apache, я даже не вижу трафика.

У кого-нибудь есть предложенное решение? Вот моя запись в VirtualHost:

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

где Tinyproxy работает через порт 50001.

Ответы [ 2 ]

0 голосов
/ 02 мая 2009

Чтобы уточнить, имя хоста вашего домена - http://sub.domain.com/...,, и вы убедились, что Tinyproxy обслуживает ваш сайт при запросе через tinyproxyhost: 50001?

Я хотел бы рассмотреть возможность использования iptables на вашем шлюзе для выборочного NAT-запроса, предназначенного для sub.domain.com на порту 80, для tinyproxyhost на порту 50001. Предполагается, что sub.domain.com находится по адресу 12.34.56.78, и что tinyproxy работает 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

Если вы действительно хотите продолжить использовать Apache для этого, вы уверены, что полностью включили mod_proxy? Убедитесь, что у вас есть следующее в вашей конфигурации:

ProxyRequests Off


Order deny,allow
Allow from all

Что происходит, когда вы пытаетесь получить доступ к http://sub.domain.com в этой конфигурации? Какой вывод вы получаете в ваших Apache access_log и error_log?

0 голосов
/ 23 января 2009

Не думаю, что это будет возможно.

ProxyPass для непрозрачного прокси веб-серверов, а не для перенаправления на прокси. Но это могло бы сработать, за исключением того, что AFAIK VirtualHost может быть идентифицирован только заголовком Host: в запросе http - поэтому работает только для реального запроса.

Другими словами - клиенты устанавливают заголовок Host: для сайта, который они хотят достичь, поэтому ваш virtualHost никогда не используется.

...