httpd-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Bruno Wolff III <br...@wolff.to>
Subject Re: [users@httpd] Problems with mod_deflate and reverse-proxy
Date Fri, 31 Jan 2003 18:43:58 GMT
On Fri, Jan 31, 2003 at 12:44:28 +0100,
  mailing@bgs-ing.de wrote:
> Hi,
> 
> I have installed a reverse-proxy with Apache 2.0.44 for a Lotus Domino
> Server.
> Our customers connect via https over ISDN to the reverse-proxy and the
> rproxy via http to the Domino Server.
> The Lotus Notes databases are very big and contain lot of Java, therefore I
> activated mod_deflate to minimize the data-transfer.
> But when I access the sites over https, IE stops loading the site bevor it
> is finished.
> The databases are optimized for IE; without ssl or without http compression
> it works.
> 
> I heard that Internet Explorer has problems with http compression and ssl.
> Is that right?

There is a bug in mod_deflate, but I am not sure it applies in this case.
If you use mod_deflate on a request with an internal redirect it tacks
on an extra 20 bytes (a second gzip header) to the response and that seems to 
cause problems for IE. I don't know if this would happen when you are using
apache as a reverse proxy. If you want to see if this is likely the cause,
download the compressed file and compare its size to the size in the logfile.
If the size of the downloaded file is 20 bytes more than what the logfile
says it should be then you are probably seeing this problem.

Below is a patch I am using to fix the problem I am seeing. I don't know that
this patch is actually correct, though it works for my purposes. This has
been reported as PR 14451.

*** /usr/local/src/httpd-2.0/mod_deflate.c	Wed Jan 29 13:33:58 2003
--- mod_deflate.c	Thu Jan  2 15:47:39 2003
***************
*** 277,283 ****
          const char *encoding, *accepts;
  
          /* only work on main request/no subrequests */
!         if (r->main || r->next) {
              ap_remove_output_filter(f);
              return ap_pass_brigade(f->next, bb);
          }
--- 277,283 ----
          const char *encoding, *accepts;
  
          /* only work on main request/no subrequests */
!         if (r->main) {
              ap_remove_output_filter(f);
              return ap_pass_brigade(f->next, bb);
          }

---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
   "   from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org


Mime
View raw message