Isso geralmente acontece quando o balanceador de carga está aguardando uma resposta do apache e o apache não está dando uma resposta dentro do período de tempo limite do balanceador de carga. Por isso, retorna um tempo limite do gateway 504. Sobre o que faz com que o apache não responda é algo que só você pode dizer, já que não deu muita informação sobre o que o apache está servindo. Veja os logs do apache para saber mais detalhes. geralmente acessam logs e logs de erros. Aumente o valor de tempo limite do balanceador de carga, para ver se isso ajuda. É sempre bom ter o clustering no apache para que você não obtenha 504 por causa de uma instância do apache morto. Eu acho que o mod_proxy permite que você atinja o cluster de software. Não tenho certeza de check-out no site do apache.