Se o ESI é uma necessidade absoluta, recomendo a seguinte configuração
Utilizador - > Nginx (gzip + proxy + terminação ssl) - > Verniz (ESI) - > Ngnix App Server.
Dessa forma, você não precisa delegar suas solicitações SSL, gzip a um servidor back-end e as solicitações ESI a outro.
O verniz remove os cabeçalhos Accept-Encoding dos pedidos recebidos, assim seus backends não tentarão gzip (se eles estiverem configurados para isso), e o Varnish poderá analisar seus objetos de resposta de back-end para inclusões do ESI. O verniz apresentará ao seu proxy Nginx
conteúdo totalmente formado. Isso deixa o proxy Nginx para fazer compressão e entrega SSL.
Eu tenho uma configuração muito semelhante em execução na produção (sem a terminação SSL) e descobri que ela funciona muito bem.