So deaktivieren Sie Komprimierung in Apache auf einige Antwort-Header von mod_jk Proxy-Anwendungsserver

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

Frage

Ich habe einen Tomcatbediener konfiguriert (durch mod_jk) an der Arbeit durch Apache-Server.

Apache-Server Kompressen (von mod_deflate) alle text / html-Browser gesendet.

Einige jsp Seiten sind interaktiv und mit langer Laufzeit, das heißt Fortschrittsanzeige oder melden Sie sich bei der Ausführung. Wenn Komprimierung aktiviert ist, alle Texte auf diesen Seiten kommen am Ende der Seite Ausführung.

Ich möchte Fähigkeit Satz einig Antwort-Header in JSP-Seite haben, z.

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

Und in Apache diese Kompression in Deaktivierung führen müssen, beispielsweise durch Einstellung no-gzip Umgebungsvariable.

Vielleicht gibt es andere Ansätze?

War es hilfreich?

Lösung 3

Getestet auf den letzten Setup (Apache 2.2.16, Tomcat 6.0.29, mod_jk 1.2.30, tcnative-1.dll). Es gibt kein solches Problem (es kann noch existiert mit Apache 2.0.x).

Wenn response.flushBuffer () oder out.flush () verwendet in JSP, fluchtet Paket gesendet Apache über mod_jk. Dies wiederum schafft April bündig Eimer, der durch deflate empfangen wird Modul und zwingt es zu flush Verdichtungspuffer zum Browser.

So Antwort wird komprimiert und INTERACTIVE.

P. S. I`have erstellt relevante Patch jedoch, die von Anwendungsserver auf X-nogzip Header reagiert. Auf X-nogzip. 1 zu deaktivieren Kompression

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

Andere Tipps

Ich bin mit mod_layout einen Header der Seite hinzuzufügen. Es hat Probleme, wenn die Seite von tomcat durch mod_jk kommt. Sie fügt hinzu, die Klartext-Header vor dem gzipped Binärcode, korrumpierte die gz-Datei. Es scheint sehr schlechte Dokumentation zu haben, aber macht einen guten Job anders als die Kompression Problem.

Leider

  

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

hat für mich nicht.

Ebenso wenig wie:

  

AddOutputFilterByType DEFLATE text / html text / plain text / xml

Das hat funktioniert:

  1. aktivieren mod_headers

  2. fügen Sie eine Zeile in den Virtualhost

      

    Request ungesetzt Accept-Encoding

Mehr über mod_headers: http://httpd.apache.org/docs/2.0/mod/mod_headers.html

Meine mod_layout kam von Ubuntu Paketmanager, aber es ist auch hier: htt p: //download.tangent.org/

Und hier ist die Seite, wo ich zum ersten Mal von mod_layout lesen: http://www.linuxjournal.com/article/4334

Ich glaube nicht, es ist möglich, über HTTP-Header, für diese Header nur für das Erklären des Client verwendet werden wie sie sich verhalten. Sie müssen jedoch Apache sagen.

Aber kann es deaktivieren Sie eine .htaccess-Datei verwenden, wenn das eine Option ist:

RewriteRule . - [E=no-gzip:1]
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top