Мне нужно найти экземпляр Squid в качестве прямого прокси за Apache 2.4.6. У меня недостаточно кредитов для добавления встроенных изображений. Но вот оно

Поскольку Squid3.3 прослушивает localhost:3128 и работает нормально с конфигурацией по умолчанию, у меня есть эта конфигурация vhost config для Apache:

<VirtualHost example.com:443>
    SSLEngine on
       [cert file config]
    ServerName example.com
    DocumentRoot /var/www
    ProxyRequests Off
    ProxyVia Off
    ProxyRemote * http://127.0.0.1:3128
    LogLevel debug
    ErrorLog /var/log/apache2/tunnel_error.log
    CustomLog /var/log/apache2/tunnel_access.log combined
</VirtualHost>

Однако мои запросы прокси не обрабатываются через Squid 3.3 в любом случае.

Я наткнулся на множество статей в Интернете, объясняющих кэширование перед Apache, однако (возможно, я пропустил), мне нужно, чтобы Apache принимал запросы CONNECT и передавал Squid.

У вас есть идеи, как сделать настройку?

,

,

редактировать

Пытаюсь с proxypass

    ProxyRequests Off
    ProxyVia Off
    ProxyPass http://127.0.0.1:3128/
    ProxyPassReverse http://127.0.0.1:3128/

Apache, кажется, перенаправляет мой запрос в Squid. Потому что на этот раз Squid предупреждает меня:

ERROR

The requested URL could not be retrieved
The following error was encountered while trying to retrieve the URL: /
    "Invalid URL"
Some aspect of the requested URL is incorrect.
Some possible problems are:
    * Missing or incorrect access protocol (should be http:// or similar)
    * Missing hostname
    * Illegal double-escape in the URL-Path
    * Illegal character in hostname; underscores are not allowed.
Your cache administrator is webmaster.

Потому что кажется, что Squid думает, что я хотел бы получить http://icanhazip.com как страницу с моего собственного сервера. (Или я ошибаюсь?)

==> apache access log <==
1.1.1.1.myip - - [03/Apr/2014:23:33:26 +0300] "GET http://icanhazip.com/ HTTP/1.1" 400 2006 "-" "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.154 Safari/537.36"
==> squid3 access.log <==
1396557520.935      0 127.0.0.1 NONE/400 2006 GET / - HIER_NONE/- text/html

, ,

Редактировать 2 - Диаграмма

Решение Disred будет выглядеть так:

1) Так как я до сих пор не смог найти выход. Я хотел бы улучшить вопрос, как предложено с диаграммой.

2) Я заметил при изучении заголовков, что

GET /
Host: yahoo com

который передается из Apache в Squid должен быть

GET http:\\yahoo.com

например, чтобы иметь возможность решить это.

URL-адрес диаграммы находится сверху.

1 ответ1

0

Сочетание ProxyRemote * http://localhost:3128 с RewriteRule ^/(.*)$ http://$1 [P,L] решило аналогичную проблему для меня.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .