Preciso localizar uma instância do Squid como um proxy de encaminhamento por trás do Apache 2.4.6 . Não tenho créditos suficientes para adicionar imagens embutidas. Mas aqui está
Como o Squid3.3 escuta no localhost: 3128 e funciona bem com a configuração padrão, eu tenho esta configuração de vhost para o 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>
No entanto, meus pedidos de proxy não são processados através do Squid 3.3 de qualquer maneira.
Eu já encontrei muitos artigos na Web explicando o cache na frente do Apache; no entanto, (talvez eu tenha perdido) , preciso que o Apache receba solicitações do CONNECT e passe para o Squid.
Você tem alguma idéia de como fazer a configuração?
.
.
Editar
Tentando com proxypass
ProxyRequests Off
ProxyVia Off
ProxyPass http://127.0.0.1:3128/
ProxyPassReverse http://127.0.0.1:3128/
O Apache parece redirecionar meu pedido para o Squid semi-bem. Porque o Squid desta vez me avisa com:
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.
Porque parece que o Squid acha que eu gostaria de obter http://icanhazip.com como uma página do meu próprio servidor. (Ou estou enganado?)
==> 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
. .
Edit 2 - O Diagrama
A solução descartada seria como:
1) Como ainda não consegui encontrar uma saída. Eu gostaria de melhorar a pergunta, conforme sugerido em um diagrama.
2) Observei ao examinar os cabeçalhos que
GET /
Host: yahoo com
que é passado do Apache para o Squid deve ser
GET http:\\yahoo.com
por exemplo, para conseguir resolver isso.
O URL do diagrama está no topo.
ProxyPass
.Respostas:
combinação de com resolveu um problema semelhante para mim.
ProxyRemote * http://
localhost:3128
RewriteRule ^/(.*)$ http://$1 [P,L]
fonte