Come disabilitare la compressione in Apache su alcuni intestazione di risposta dal server applicativo mod_jk proxy

StackOverflow https://stackoverflow.com/questions/3414243

Domanda

Ho un server Tomcat configurato (da mod_jk) al lavoro attraverso il server Apache Httpd.

impacchi server Apache httpd (da mod_deflate) tutto il testo / html inviato al browser.

Alcune pagine JSP sono interattivi e lunga esecuzione, vale a dire il progresso di esposizione o di log durante l'esecuzione. Se la compressione attivata, tutto il testo in queste pagine arriva alla fine della esecuzione della pagina.

Mi piacerebbe avere la capacità di mettere in pagina JSP alcuni header di risposta, per es.

<% response.setHeader("X-Compress", "0"); %>

E in Apache Httpd questo deve comportare la disattivazione compressione, per esempio dalla regolazione no-gzip variabile ambiente.

Forse c'è altri approcci?

È stato utile?

Soluzione 3

Testato su recente messa a punto (Apache HTTPD 2.2.16, Tomcat 6.0.29, 1.2.30 mod_jk, tcnative-1.dll). Non v'è alcun problema del genere (può ancora esiste usando Apache httpd 2.0.x).

Quando si utilizza response.flushBuffer () o out.flush () in jsp, filo pacchetto viene inviato ad Apache via mod_jk. Questo a sua volta crea aprile secchio filo che viene ricevuto dal sgonfiare modulo e lo costringe a tampone compressione filo browser.

Risposta Così è compresso e interattivo.

P.S. Tuttavia, I`have creato cerotto pertinenti che reagisce in intestazione X-nogzip dal server applicativo. Impostare su X-nogzip:. 1 per disabilitare la compressione

http : //huksley.sdot.ru/wp-content/uploads/2010/09/mod_jk-1.2.30-x-nogzip-patch.zip

Altri suggerimenti

Sto usando mod_layout per aggiungere un'intestazione alla pagina. Ha problemi quando la pagina viene da Tomcat attraverso mod_jk. Si aggiunge l'intestazione di testo in chiaro prima che il codice binario gzipped, corrompere il file gz. Sembra avere una documentazione molto scarsa, ma fa un ottimo lavoro diverso dal problema di compressione.

Purtroppo,

  

RewriteRule. - [E = no-gzip: 1]

non ha funzionato per me.

Nemmeno:

  

Testo AddOutputFilterByType DEFLATE / html text / plain text / xml

Questo ha funzionato:

  1. permettere mod_headers

  2. aggiungere una riga al vostro VirtualHost

      

    RequestHeader unset Accept-Encoding

Ulteriori informazioni mod_headers: http://httpd.apache.org/docs/2.0/mod/mod_headers.html

Il mio mod_layout venuto dal gestore di pacchetti di Ubuntu, ma è anche qui: htt p: //download.tangent.org/

E qui è la pagina in cui ho letto su mod_layout: http://www.linuxjournal.com/article/4334

Non credo sia possibile tramite HTTP intestazione, per questa intestazione viene utilizzato solo per dire al cliente come comportarsi. È però devi dire apache.

Ma possibile disattivarlo utilizzando un file .htaccess, se questa è un'opzione:

RewriteRule . - [E=no-gzip:1]
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top