Atualmente, fazemos isso em nosso ambiente. Especificamente:
nginx - > verniz - > apache (com o memcached & apc instalado). Fazemos isso em uma caixa RHEL5 (64 bits).
- O nginx é executado na porta 80 e atua como um proxy para o verniz
- o verniz é executado em outra porta interna que atua como um proxy reverso para o apache
- o apache está sendo executado em outra porta interna
Adicionamos a camada nginx principalmente para fornecer compactação gzip nas solicitações de saída. Funciona muito bem.
Uma parte complicada é manter o IP real do cliente inicial até a camada do apache. Conseguimos isso implementando alguns cabeçalhos personalizados no VCL do Varnish