Eu sei que você pode usarMódulo nginx HttpGzippara gziparrespostas. Você também pode usá-lo para permitir que o nginx lide com compactação gzipsolicitações de, ou seja, aqueles com o cabeçalho da solicitação: Content-Encoding: gzip
?
Nota: Apache, com a ajuda de mod_deflate
pode lidar com solicitações compactadas com gzip com a diretivaSetInputFilter DEFLATE
.
Relacionado
Responder1
Acabei de tentar isso em um servidor nginx que estou na frente de um backend Apache.
curl -H "Content-Encoding: gzip" --include -d @testfile.gz http://example.com/upload_file.php
curl adicionado automaticamente:
Expect: 100-continue
aos cabeçalhos da solicitação.
nginx enviou de volta um
HTTP/1.1 100 Continue
resposta e curl seguidos pelo envio dos dados compactados. O nginx devolveu tudo ao Apache, ainda compactado e com o Content-Encoding:
cabeçalho intacto.
Se eu não adicionei o Content-Encoding: gzip
cabeçalho com curl, não recebi a resposta HTTP 100, mas todo o resto permaneceu igual.
Isso ainda não responde à sua pergunta, mas implica que o nginx não lida com isso por padrão ou não descompacta o corpo da solicitação quando está fazendo proxy. Estou interessado na resposta a esta, então verei se consigo testá-la em um servidor nginx sem proxy um pouco mais tarde.
Presumivelmente, você poderia resolver o problema de largura de banda fazendo proxy dessas solicitações para um back-end do Apache com mod_deflate, mas isso ignora o motivo pelo qual você escolheu o nginx em primeiro lugar.
Responder2
Acabei de encontrar este artigo:Como fazer o Nginx descompactar uma solicitação gzipada
Parece bom, mas ainda não experimentei. Espero que ajude.
Responder3
Encontrei bons passos no oceano digital paraUbuntu 14.04
É bom