Here's one that has me stumped.

Ubuntu 9.10, apache 2.2.12. Server info:
Code:
Server Version: Apache/2.2.12 (Ubuntu)Server Built: Nov 12 2009 22:49:46Server loaded APR Version: 1.3.8Compiled with APR Version: 1.3.8Server loaded APU Version: 1.3.9Compiled with APU Version: 1.3.9Module Magic Number: 20051115:23Hostname/port: localhost:80Timeouts: connection: 300    keep-alive: 15MPM Name: PreforkMPM Information: Max Daemons: 150 Threaded: no Forked: yesServer Architecture: 32-bitServer Root: /etc/apache2Config File: /etc/apache2/apache2.confServer Built With: 
 -D APACHE_MPM_DIR="server/mpm/worker"
 -D APR_HAS_SENDFILE
 -D APR_HAS_MMAP
 -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
 -D APR_USE_SYSVSEM_SERIALIZE
 -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
 -D APR_HAS_OTHER_CHILD
 -D AP_HAVE_RELIABLE_PIPED_LOGS
 -D HTTPD_ROOT=""
 -D SUEXEC_BIN="/usr/lib/apache2/suexec"
 -D DEFAULT_PIDLOG="/var/run/apache2.pid"
 -D DEFAULT_ERRORLOG="logs/error_log"
 -D AP_TYPES_CONFIG_FILE="/etc/apache2/mime.types"
 -D SERVER_CONFIG_FILE="/etc/apache2/apache2.conf"Loaded Modules: 
mod_status.c, mod_setenvif.c, mod_negotiation.c, mod_mime.c, mod_info.c, mod_include.c, mod_env.c, mod_dir.c, mod_deflate.c, mod_cgi.c, mod_autoindex.c, mod_authz_user.c, mod_authz_host.c, mod_authz_groupfile.c, mod_authz_default.c, mod_authn_file.c, mod_auth_basic.c, mod_alias.c, mod_so.c, http_core.c, prefork.c, mod_logio.c, mod_log_config.c, core.c
Now what happens is: text/html content is served fine, no problems. But there is a problem serving image/jpeg content. For example:

Code:
$ wget http://kokoro.ucsd.edu/raft.jpg
--15:20:29--  http://kokoro.ucsd.edu/raft.jpg
Resolving kokoro.ucsd.edu... 132.239.9.38
Connecting to kokoro.ucsd.edu|132.239.9.38|:80... connected.
HTTP request sent, awaiting response... 200 No headers, assuming HTTP/0.9
Length: unspecified
Saving to: `raft.jpg'

    [                <=>                     ] 3,807       --.-K/s   in 14s    

15:20:44 (267 B/s) - `raft.jpg' saved [3807]
Note: No response headers, extremely slow download, incorrect resulting filesize (should be 3515). It is the same with different clients on different machines, not just wget!

One possible clue: There are two interfaces on the server. So far as I can tell, all requests coming over eth0 have the above problem, but over eth1:

Code:
$ wget http://kokoro.ucsd.edu/raft.jpg
--2010-01-19 15:16:43--  http://kokoro.ucsd.edu/raft.jpg
Resolving kokoro.ucsd.edu... 132.239.9.38
Connecting to kokoro.ucsd.edu|132.239.9.38|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 3515 (3.4K) [image/jpeg]
Saving to: `raft.jpg'

100%[======================================>] 3,515       --.-K/s   in 0s      

2010-01-19 15:16:43 (193 MB/s) - `raft.jpg' saved [3515/3515]
... it works fine. Which makes me think that there might be some broken caching on the network eth0 is connected to, but: when I install boa and run it instead of apache2, everything works fine over both interfaces.

No errors appear in the logs.

Any ideas what is going on here, and what I can do to fix it?!

Thanks,

--Paul