nginx gzip_static rimuove l'intestazione Content-Encoding

Il mio block http definisce diverse regole gzip. Allora in where ho i file gzip pre-comporessed sto usando il module gzip_static . cioè qualcosa di simile:

 http { gzip on; #... server { #other vhost rules location /assets/ { gzip_static on; } } } 

Per gli URL che non iniziano / assegna nginx invia l' Content-Encoding: gzip . Tuttavia, gli URL come /assets/css/style.css restituiscono certamente una risposta comportta, ma non l'intestazione Content-Encoding.

  • Nginx Multiple Se le dichiarazioni causano l'utilizzo della memory per saltare
  • Come posso utilizzare i caratteri jolly in una direttiva mappa Nginx?
  • Come abilitare Gzip o Deflate compressione tramite .htaccess?
  • HAProxy reindirizza e si basa su base URI
  • Chiarimenti di base su utenti limitati FTP / sFTP
  • Come fermare Nginx per ascoltare la port 80?
  • È questo comportmento previsto? Come dovrebbe essere configurato nginx?

    2 Solutions collect form web for “nginx gzip_static rimuove l'intestazione Content-Encoding”

    Basta girare con gzip_static su non ha funzionato per me. Ho dovuto usare il gzip_proxied prima di iniziare a lavorare.

     location /as/ { gzip_static on; gzip_proxied expired no-cache no-store private auth; gzip_min_length 500; # optional gzip_types text/plain application/xml text/css; # optional add_header Z_LOCATION "gz static location block"; add_header URI $uri; # DEBUG info } 

    Nota che l'ultima row aggiunge altre due intestazioni che aiutano a eseguire il debug. Puoi vedere questi utilizzando un ottimo plugin per Firefox chiamato "Live HTTP Headers", che ho trovato super utile per il debug di un carico di cose intorno alle intestazioni e la memorizzazione nella cache. Notare che "curl -I" non funziona in quanto non invia un'intestazione dicendo che accetta la codifica gzip.

    È inoltre necessario assicurarsi che i file abbiano la stessa data di modifica

     touch style.css style.css.gz 

    Di seguito sono riportte le intestazioni che riceve quando utilizzo la configuration della posizione sopra

     HTTP/1.1 200 OK Server: nginx Date: Wed, 06 Jan 2016 20:07:18 GMT Content-Type: text/css Last-Modified: Wed, 06 Jan 2016 19:55:15 GMT Etag: "568d7123-84c" Z_LOCATION: gz static location block URI: /as/style.css Via: 1.1 BC5-ACLD Connection: Keep-Alive Content-Encoding: gzip Age: 0 

    Ho avuto una location ~* \.(css|js|...) { expires 7d } block che stava mettendo in pericolo le cose. Ho avuto un gioco con i blocchi di posizione e tutto sembra funzionare adesso.

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.