Configure o Apache como um proxy de encaminhamento com cache

2

Eu gostaria de configurar o proxy de encaminhamento do apache com o cache. Eu tenho alguns clientes que tem que downloa alguns grandes arquivos de tempos em tempos a partir das internets, e gostaria que fosse feito através deste proxy apache, para que ele tenha esses grandes arquivos em cache no disco e os retorna do cache.

Eu consegui configurar o proxy, mas o cache não funciona. Eu tenho os módulos cache , mem_cache , file_cache ativados. Eu tenho a seguinte configuração do meu proxy virtual de cache:

<VirtualHost *:80>
ProxyRequests On
ProxyVia On

<Proxy *>
Order deny,allow
Deny from all
Allow from all
</Proxy>

CacheEnable disk /
CacheMaxFileSize 10000000000
CacheMinFileSize 1000000
CacheRoot "/var/cache/apache2/mod_disk_cache/"
CacheMaxExpire 24
CacheLastModifiedFactor 0.1
CacheIgnoreQueryString On
EnableSendfile On
CacheDefaultExpire 7200

CacheIgnoreNoLastMod On
CacheStorePrivate On
CacheStoreNoStore On

ServerName my-proxy

ErrorLog "/var/log/apache2/proxy-error.log"
CustomLog "/var/log/apache2/proxy-access.log" common
</VirtualHost>

Para fins de teste, configurei meu Firefox para usar esse proxy. Eu baixei um arquivo zip de link , que leva cerca de 5 minutos. A única linha que recebo em proxy-access.log neste evento é:

"GET http://download.java.net/jdk8/archive/b128/binaries/jdk-8-fcs-bin-b128-linux-i586-01_feb_2014.tar.gz HTTP/1.1" 200 115883719

Quando mais tarde eu verificar a pasta / var / cache / apache2 / mod_disk_cache , não há nada lá. E da próxima vez que eu baixar o mesmo arquivo, ele também leva os mesmos 5 minutos, embora em nossa rede local a velocidade seja muito mais rápida - o que significa que ele é redobrado novamente da internet.

Como posso fazer cache?

Eu vi este Como configurar o Apache como um proxy de encaminhamento com o cache , leia O que pode ser armazenado em cache? - não há "Autorização "cabeçalho em qualquer solicitação ou resposta (verificado com wireshark). Então, parece-me como deveria ser armazenado em cache. Ele também não deve ser afetado por este bug , já que a versão do apache é 2.2.22 -1ubuntu1 e não 2.4.3.

    
por Draco Ater 12.02.2014 / 11:30

2 respostas

2

Não foi inicialmente documentado corretamente, mas o CacheEnable não se aplica implicitamente ao proxy de encaminhamento. há uma nota e exemplos atualizados agora.

link

edite para não ocultar a resposta no link: como em CacheEnable disk http://

    
por 12.02.2014 / 20:18
0

Eu tive que fazer especificamente CacheQuickHandler off , por causa de ProxyPass dentro de Location . O cache não começaria até que isso estivesse correto. Exemplo:

CacheQuickHandler off                      
CacheRoot /var/cache/apache2

<Location "/wp-content/uploads/_papaya">
    CacheEnable disk
    ProxyPass "https://remote.papaya/wp-content/uploads"
</LocationMatch>
    
por 23.03.2018 / 18:31