Поврежденные заголовки HTTP в Apache / Weblogic 9.2

У меня очень странная проблема. Мой стек приложений основан на J2EE и использует Spring 2.5.6 с Spring webflow 2.0.6. Сервер приложений - это Weblogic 9.2 с сервером Apache впереди (балансировка нагрузки). Мы используем SiteMinder Webagent в качестве уровня аутентификации в apache.

Проблема ниже может быть вызвана любым из вышеперечисленных слоев -

Наш сайт работает очень медленно, по этой причине некоторые файлы javascript и css не кэшируются. Мы знаем, что Siteminder удаляет заголовок If-Modified, поэтому мы включили параметр IgnoreExt (в WebAgent), чтобы добавить расширение .js и .css к существующему списку незащищенных типов файлов (без этого НИКАКИЕ файлы JS или CSS не кэшировались). Теперь проблема в том, что я вижу только 2 файла, которые не кэшируются (т.е. сервер не возвращает 304), и причина в том, что заголовки ответов повреждены. Сервер действительно возвращает 304, но в заголовках присутствует нежелательный текст, и поэтому клиент не может решить, откуда брать контент. Выглядит это так -

альтернативный текст http://img187.imageshack.us/img187/2358/dojo.gif < / а>

альтернативный текст http://img246.imageshack.us/img246/2087/tundra.gif < / а>

Теперь это могут быть известные проблемы с двумя файлами (часть Spring Webflow) или конфигурацией в Apache с SiteMinder или чем-то еще. Кто-нибудь когда-нибудь сталкивался с этим? Есть идеи, с чего начать?


person Joseph    schedule 09.04.2009    source источник
comment
Я предлагаю вам начать сужать проблему, удаляя некоторые компоненты, пока вы не найдете проблемный компонент (например: siteminder, apache).   -  person Miguel Ping    schedule 14.04.2009


Ответы (1)


У нас была аналогичная ситуация с Apache 2.0.59 с WebLogic 10mp2. Время от времени мы обнаруживали данные, стоящие перед действительным HTTP-ответом. После ответа 304 Not-Modified данные всегда были сжатыми с помощью gzip 0. Коррумпированный заголовок начинается с подписи 1F 8B 08 ...

Проблема, похоже, возникла из-за использования mod_deflate с кэшированными ресурсами. Мы смогли устранить проблему, отключив mod_deflate. На сегодняшний день мы отключили оптовую продажу mod_deflate, но работаем над сужением области, где мы отключаем mod_deflate. Проект Apache WebServer ссылается на исправление в 2.1.1:

*) mod_deflate: не сдувайте ответы с нулевой длиной, например. проксировал 304 [Аллан Эдвардс]

person joeyseb    schedule 10.05.2010