0

I have a lighttpd server 1.4.35-4+deb8u1 on Debian with mod_compress configured.

When i send an identical request from two different Windows PCs, the response is compressed only for one client!

I tried from both Firefox and Chrome, it does not seem to depend on browser. Both browsers on PC 1 get compressed response, both browsers on PC2 get it plaintext.

The PCs differ in:

  • network: PC 2 is in the same IP range, PC 1 in routed network
  • proximity: PC 2 is physically next to server, PC 1 in another city
  • Windows version: PC 2 Win 10, PC 1 Win 2012 server

I found that mod_compress can disable itself when CPU load is high https://redmine.lighttpd.net/issues/1505 but i think i disabled that with compress.max-loadavg = "93.50". Even though that is for a higher version i did not get a startup error. Didn't change anything anyway.

So is it because of the closeness (both network and physical)? Does lighttpd detect it and decide to not send the compressed file?

The files still get compressed in the compress cache dir, even when plaintext is sent.

Request for a css file (without mod_rewrite or redirect):

Host: 192.168.11.118
User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:56.0) Gecko/20100101 Firefox/56.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Connection: keep-alive
Upgrade-Insecure-Requests: 1
Pragma: no-cache
Cache-Control: no-cache

Response from PC 1:

Vary: Accept-Encoding
Content-Encoding: gzip
Last-Modified: Thu, 12 Oct 2017 15:34:22 GMT
ETag: "4244024282"
Content-Type: text/css
Accept-Ranges: bytes
Content-Length: 3168
Date: Sat, 01 Jan 2000 00:49:33 GMT
Server: lighttpd/1.4.35

Response from PC 2:

Vary: Accept-Encoding
Last-Modified: Thu, 12 Oct 2017 15:34:22 GMT
ETag: "4244024282"
Content-Type: text/css
Accept-Ranges: bytes
Date: Sat, 01 Jan 2000 00:35:04 GMT
Server: lighttpd/1.4.35
Content-Length: 11546
Jakub Fojtik
  • 681
  • 5
  • 22
  • Also tested on version 1.4.45-1 Debian Stretch – Jakub Fojtik Nov 03 '17 at 16:23
  • My guess would be that the second machine is running through a proxy which is modifying the request and results in lighttpd *not* getting `Accepting-Encoding: gzip, deflate` in the request. – gstrauss Jan 27 '18 at 21:56

0 Answers0