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.

  • C'è una soluzione proxy inversa basata su cloud in AWS?
  • Come impostare la cache per non scadere mai e minimizzare le richieste in Nginx?
  • Come impostare una pagina di errore fallback in nginx?
  • Versioni multiple di PHP tramite nginx
  • riscrivere nginx per un url con parametri
  • La richiesta POST viene ripetuta con server nginx loadbalanced (stato 499)
  • È 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.