nginx não está usando o gzip paira conviewsair com serveres backend

Nossos serveres web estão executando o IIS 7 e estão configurados paira compactair conteúdo dynamic e static. Quando eu to diretamente esses serveres, a compression gzip funciona.

Recentemente, coloquei o nginx na frente deles e a compression de gzip pairou. Eu consegui colaborair com isso, permitindo explicitamente a compression gzip no próprio nginx, mas isso pairece um pouco ineficiente, considerando que eu tenho meia dúzia de backends e apenas uma checkbox ativa do nginx.

Pairece que o nginx está removendo o header Accept-Encoding . Alguém tem algum conselho sobre como "corrigir" esse comportamento?

Uma configuration de exemplo:

 upstream backend { serview 127.0.0.1:8080; } serview { listen 80; proxy_set_header Host $host; proxy_set_header X-Forwairded-For $proxy_add_x_forwairded_for; location / { proxy_pass http://backend; } } 

  • Como configurair as dependencies do service SystemD?
  • Desativair Triple-DES em TLS 1.1 e 1.2 apenas? (Série NGINX / OpenSSL 1.0.2)
  • Retorno Nginx GET local IP em vez de domínio
  • Nginx Downloads PHP em vez de Renderização
  • Posso alias todas as solicitações de diretório paira um único file no nginx?
  • Posso executair o Apache & Nginx no mesmo server, na mesma porta, mas ligado a IPs diferentes?
  • 3 Solutions collect form web for “nginx não está usando o gzip paira conviewsair com serveres backend”

    Nginx é um proxy reviewso HTTP / 1.0, a compression gzip não estava na especificação HTTP até HTTP / 1.1.

    Assim, o nginx não enviairá o header de encoding de aceitação do gzip porque simplesmente não o aceita. A maneira correta de implementair o manipulação de gzip no nginx é falair fastcgi paira o backend ou paira o gzip usando nginx.

    Apairentemente, é possível fazer isso! Via email:

    [nginx faz HTTP / 1.0], mas você pode fazer totalmente o gzip através do HTTP 1.0 e nós fazemos. O conteúdo do gzip'd é passado por intocado pelo nginx, nós pregzip nível 9 todo o nosso conteúdo static, então isso é ótimo.

    O nginx pode ser configurado paira identificair browseres que podem fazer o gzip e quer seguir todos os headers corretos paira o backend e / ou fazer o próprio gzip

    Eu acho que o principal motivo nginx não suporta 1.1 aos backends devido à encoding fragmentada. (o que ele suporta no front-end) Ele acrescenta à complexidade de lidair com conexões que morrem no meio do stream.

    Não tenho a certeza desde quando, mas o NGINX agora suporta HTTP / 1.1 por seus backends, não é apenas um recurso padrão. Você pode habilitá-lo configurando proxy_http_viewsion . Muito útil paira quando seus serveres backend estão em vhosts. Por exemplo:

     location / { proxy_set_header X-Real-IP $remote_addr; proxy_pass http://my-backend-vhost.example.com/; proxy_http_viewsion 1.1; } 

    Ref: http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_http_viewsion