Lula por trás do Apache 2.4

0

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.

JSBach
fonte
Não sei ao certo o que você está tentando alcançar, mas na verdade você não está criando nada de proxy do Apache. Você precisa de algo parecido ProxyPass.
Daniel B
Eu coloquei esses detalhes na edição.
precisa
Bem, isso também não pode funcionar, naturalmente. Um proxy de encaminhamento não é um servidor da web. Em vez disso, descreva o que você está tentando realizar.
Daniel B
Posso aceitar que este não seja um cenário padrão, de modo que o APACHE esteja na frente do SQUID. O SQUID não é um servidor web, mas é um proxy de encaminhamento com suporte limitado ao manuseio de SSL. Você não pode ativar o SQUID com vários domínios SSL com uma instância. E há outras coisas também. Então é isso que eu tento fazer. APACHE para passar transparentemente meus pedidos de / para SQUID.
JSBach
Tem certeza de que deseja um proxy de encaminhamento? Você ainda não descreveu seu projeto na íntegra. É muito importante fazer isso. Com diagramas, por favor. Caso contrário, ninguém será capaz de ajudá-lo.
Daniel B

Respostas:

0

combinação de com resolveu um problema semelhante para mim.ProxyRemote * http://localhost:3128 RewriteRule ^/(.*)$ http://$1 [P,L]

mestia
fonte
Vou experimentá-lo em breve
JSBach 02/09
Eu tentei, mas também não funcionou. Suponho que seja melhor usar da maneira que esse cara faz e a conexão seria assim: entrada> squid> nginx (como downloader do youtube, por exemplo.)> Apache (como manipulador dinâmico da web, por exemplo.)> Response.
JSBach 8/09
Eu precisava de um proxy reverso antes do squid. O problema é que o squid, por algum motivo, não conseguiu lidar com solicitações como essa: installer: 9999 / security.ubuntu.com / ubuntu / dists / trusty-security /… , com a ajuda de mod_rewrite e mod_proxy Ele pode reescrever solicitações (basicamente tira barra no começo) e depois o squid os aceita. aqui está o pequeno artigo: male.donotuse.de/gblog/posts/squid-deb-proxy-frontend , seu problema parece ser mais complicado.
mestia 10/09/14
Eu achei o problema. É tudo sobre o comando "GET" no cabeçalho. Deve ser com nome de host, mas não é. É apenas "GET /" em vez de "GET blabla.com ". (ssl ainda não está
ativado