Por que algumas solicitações de páginas são interrompidas ao buscar recursos JavaScript / imagens usando o Safari e o Apache 2.2.3?

Alguns dos usuários do nosso aplicativo Ruby on Rails reclamaram que as solicitações de páginas ocasionalmente ficam suspensas indefinidamente no Safari (algumas pessoas notaram isso no Firefox, mas são esmagadoramente usuários do Safari). Depois de algumas investigações, parece que essas solicitações estão sendo atendidas corretamente pelo nosso aplicativo Rails e o travamento ocorre ao buscar ativos de imagem (que estão hospedados no mesmo servidor) que são referenciados no HTML.

Configuramos o Apache para exibir os recursos de imagem diretamente e ignorar o desempenho do aplicativo Rails. Também ativamos a compactação gzip em ativos text / javascript / css. Abaixo estão as configurações relevantes da nossa configuração do Apache Virtual Host - talvez tenhamos configurado isso de tal forma que possa explicar essas solicitações arbitrárias de interrupção?

RewriteEngine On

# Correct behaviour of IE under SSL
SetEnvIf User-Agent ".*MSIE.*" \
    nokeepalive ssl-unclean-shutdown \
    downgrade-1.0 force-response-1.0

SSLEngine On
SSLCertificateFile /etc/httpd/conf/ssl/_.mycert.com.crt
SSLCertificateKeyFile /etc/httpd/conf/ssl/_. mycert.com.key
SSLCertificateChainFile /etc/httpd/conf/ssl/gd_bundle.crt

RequestHeader set X_ORIGINAL_PROTOCOL 'https'
RequestHeader set X_FORWARDED_PROTO 'https'

# Rewrite index to check for static
RewriteRule ^/$ /index.html [QSA] 
RewriteRule "^/(images|stylesheets|javascripts|system)/?(.*)" "$0" [L]

# Rewrite to check for Rails cached page
RewriteRule ^([^.]+)$ $1.html [QSA]

# Deflate
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/x-javascript
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html

ExpiresActive On
<FilesMatch "\.(ico|gif|jpe?g|png|js|css)$">
  ExpiresDefault "access plus 1 year"
  Header append Cache-Control "public"
</FilesMatch>

Alguém já experimentou um problema semelhante antes?

Nosso aplicativo da Web Ruby on Rails é executado usando mod_rails e Apache 2.2.3 no RedHat Enterprise Linux 5.

Atualizar: Eu já tentei remover o seguinte bloco e o problema ainda persiste, então parece que podemos excluir o cabeçalho expires de ser o problema:

ExpiresActive On
<FilesMatch "\.(ico|gif|jpe?g|png|js|css)$">
  ExpiresDefault "access plus 1 year"
  Header append Cache-Control "public"
</FilesMatch>

questionAnswers(5)

yourAnswerToTheQuestion