Como Configurar um Proxy Reverso com Cache no Apache para Melhorar Performance

Se você deseja replicar domínios externos para melhorar a performance de acesso, o Apache pode ser configurado como proxy reverso com cache. Isso reduz a latência e economiza largura de banda ao armazenar em cache as respostas dos servidores de origem.


1. Instalando os Módulos Necessários

Antes de começar, certifique-se de que os módulos de proxy e cache estão ativados:

sudo a2enmod proxy proxy_http proxy_balancer lbmethod_byrequests cache cache_disk headers expires
sudo systemctl restart apache2

2. Criando um VirtualHost para o Proxy

Crie um arquivo de configuração para o domínio proxy:

sudo nano /etc/apache2/sites-available/proxy_cache.conf

Adicione o seguinte conteúdo:

<VirtualHost *:80>
    ServerName proxy.seudominio.com

    # Configuração do Proxy
    ProxyRequests Off
    ProxyPass / http://www.siteoriginal.com/
    ProxyPassReverse / http://www.siteoriginal.com/

    # Configuração do Cache
    CacheQuickHandler off
    CacheLock on
    CacheLockPath /tmp/mod_cache-lock
    CacheIgnoreHeaders Set-Cookie

    <Location />
        ProxyPassReverseCookieDomain www.siteoriginal.com proxy.seudominio.com
        ProxyPassReverseCookiePath / /
        Header unset ETag
        Header set Cache-Control "public, max-age=3600"
        ExpiresActive On
        ExpiresDefault "access plus 1 hour"
    </Location>

    # Configuração do Cache em Disco
    <IfModule mod_cache_disk.c>
        CacheRoot /var/cache/apache2/proxy_cache
        CacheEnable disk /
        CacheDirLevels 2
        CacheDirLength 1
    </IfModule>

    ErrorLog ${APACHE_LOG_DIR}/proxy_error.log
    CustomLog ${APACHE_LOG_DIR}/proxy_access.log combined
</VirtualHost>

Salve e saia (CTRL+X, Y, Enter).


3. Criando o Diretório de Cache e Ajustando Permissões

Crie o diretório onde o Apache armazenará os arquivos em cache:

sudo mkdir -p /var/cache/apache2/proxy_cache
sudo chown -R www-data:www-data /var/cache/apache2/proxy_cache
sudo chmod -R 755 /var/cache/apache2/proxy_cache

4. Ativando a Configuração e Reiniciando o Apache

Ative o site e reinicie o Apache:

sudo a2ensite proxy_cache.conf
sudo systemctl restart apache2

5. Testando o Proxy

Agora, acesse http://proxy.seudominio.com. O Apache buscará os conteúdos de www.siteoriginal.com e armazenará no cache, melhorando a performance para acessos futuros!

Se quiser verificar se o cache está funcionando, rode:

curl -I http://proxy.seudominio.com

E veja se o cabeçalho X-Cache aparece indicando HIT (cache utilizado) ou MISS (conteúdo novo).


Conclusão

Com esse setup, você replica domínios externos, melhora a velocidade de carregamento e reduz o consumo de banda. 🚀

Rolar para cima