mod_deflate – Configurazione ottimale per la maggior parte dei browser

Mi stavo chiedendo se qualcuno qui potrebbe aiutarmi a determinare la configuration standard ottimale per l'utilizzo di mod deflate con Apache. In sostanza, mod_deflate raccomanda di utilizzare la seguente configuration per iniziare subito:

Comprimere solo alcuni tipi

AddOutputFilterByType DEFLATE text / html text / text semplice / xml http://httpd.apache.org/docs/2.0/mod/mod_deflate.html

Tuttavia, solo dalla lettura del documento, è ansible personalizzare questo per tutti i browser là fuori. Inoltre, è ansible personalizzare mod_deflate per tutti i diversi tipi di tipi di mime. Mi stavo chiedendo se qualcuno là fuori ha sperimentato con queste impostazioni e ha trovato un'impostazione che è ottimale per tutti i browser.

Un altro esempio Apache fornisce, ma non menzionare se non si comprendono tutte le opzioni di configuration:

<Location /> # Insert filter SetOutputFilter DEFLATE # Netscape 4.x has some problems... BrowserMatch ^Mozilla/4 gzip-only-text/html # Netscape 4.06-4.08 have some more problems BrowserMatch ^Mozilla/4\.0[678] no-gzip # MSIE masquerades as Netscape, but it is fine # BrowserMatch \bMSIE !no-gzip !gzip-only-text/html # NOTE: Due to a bug in mod_setenvif up to Apache 2.0.48 # the above regex won't work. You can use the following # workaround to get the desired effect: BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html # Don't compress images SetEnvIfNoCase Request_URI \ \.(?:gif|jpe?g|png)$ no-gzip dont-vary # Make sure proxies don't deliver the wrong content Header append Vary User-Agent env=!dont-vary </Location> 

http://httpd.apache.org/docs/2.0/mod/mod_deflate.html

Capisco la maggior parte delle impostazioni di configuration e vorrei impostare qualcosa di simile. Non mi dispiace evitare la compressione di immagini e di altri supporti già compressi. I dettagli che ho problemi con, è capire come questo reagisce con tutti i browser diversi là fuori, cromo, firefox, IE, Opera, ecc … Ovviamente non sono interessato a Netscape 4.X. Spero che qualcuno abbia già provato tutto questo e potrebbe essere in grado di consigliare una buona impostazione che soddisfi questi criteri.

Voglio dire se è solo una questione di utilizzare l'impostazione consigliata nel doc, sto bene con questo, ma ho voluto controllare solo per essere sicuri.

Solo per fornire alcuni dettagli aggiuntivi. Utilizziamo Apache come fronte a tutti i nostri servizi web. Per esempio: confluenza, git, gitweb, ecc …

Tomcat e altri servizi sono proxied via Apache in modo che abbiamo configurazioni per virtualhosts, mod_proxy w / AJP, mod_ssl.

La mia azienda non dispone di un team IT dedicato, quindi devo mettere molto su questo nel mio tempo libero. Vorrei apprezzare qualsiasi input che potresti fornire.

Quindi, per dichiarare chiaramente quello che sto chiedendo, quale è la configuration ottimale per gestire le esigenze di contenuto di base che servono le richieste da Apache ai browser mainstream?

Finora il mio elenco di tipi di contenuto di base:

  • text / html
  • text / plain
  • text / xml
  • text / x-js
  • text / javascript
  • text / css
  • application / xml
  • application / xhtml + xml
  • application / x-javascript
  • application / javascript
  • application / json

Tipi che ovviamente non devono essere compressi:

  • immagini – gif, jpg, png
  • archivi – exe, gz, zip, sit, rar

  • Corretto modo per esporre la macchina di VirtualBox alla networking tramite una port di interruttore di sicurezza bloccata da una "MAC"
  • IIS 7.5 (Express) applicationhost.config: Può un physicalPath di virtualDirectory essere un path relativo?
  • Esiste uno strumento GUI per la gestione di unità / macchine virtuali?
  • Gli host virtuali nidificati di Apache
  • Xen o KVM? Aiutaci a decidere e implementare quello che è meglio
  • Alternative a Xen per l'installazione di virtualizzazione
  • Connessione Virtmanager tramite il command personalizzato SSH?
  • Apache2 Basic Auth: utente @ ip, user2 @ ip2 - è ansible?
  • One Solution collect form web for “mod_deflate – Configurazione ottimale per la maggior parte dei browser”

    Sono andato avanti e ha studiato questo fuori. Dopo aver letto più tutorial e il doc Apache, sono riuscito a comporre qualcosa di sostanziale, che sembra funzionare bene. Utilizzando l'elenco sopra, ho messo insieme un insieme di regole / dichiarazioni che sembrano gestire la compressione con i tipi di contenuto mainstream:

     <Location /> # Insert filter SetOutputFilter DEFLATE AddOutputFilterByType DEFLATE text/html text/plain text/xml text/x-js text/javascript text/css AddOutputFilterByType DEFLATE application/xml application/xhtml+xml application/x-javascript application/javascript AddOutputFilterByType DEFLATE application/json BrowserMatch ^Mozilla/4 gzip-only-text/html BrowserMatch ^Mozilla/4\.0[678] no-gzip BrowserMatch \bMSIE !no-gzip !gzip-only-text/html # Don't compress images SetEnvIfNoCase Request_URI \ \.(?:gif|jpe?g|png)$ no-gzip dont-vary SetEnvIfNoCase Request_URI \ \.(?:exe|t?gz|zip|bz2|sit|rar)$ \ no-gzip dont-vary SetEnvIfNoCase Request_URI \.pdf$ no-gzip dont-vary </Location> 

    Per il test, ho fondamentalmente utilizzato TamperData per Firefox e ho triggersto la deflation logging per apache:

    https://addons.mozilla.org/en-US/firefox/addon/tamper-data/

    Per Apache, aggiungere quanto segue:

     # For Testing Purposes DeflateFilterNote Input instream DeflateFilterNote Output outstream DeflateFilterNote Ratio ratio #LogFormat '"%r" %{outstream}n/%{instream}n (%{ratio}n%%)' deflate CustomLog logs/deflate_log deflate 

    http://httpd.apache.org/docs/2.0/mod/mod_deflate.html#deflatefilternote

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