2009-04-09 5 views
0

매우 이상한 문제가 있습니다. 내 응용 프로그램 스택은 J2EE 기반이며 Spring 웹 플로우 2.0.6과 함께 Spring 2.5.6을 사용합니다. 앱 서버는 Apache 서버가 앞에있는 Weblogic 9.2 (로드 균형 조정)입니다. 우리는 Apache의 인증 레이어로 SiteMinder Webagent를 사용합니다.Apache/Weblogic의 손상된 HTTP 헤더 9.2

아래의 문제는 위의 층 중 하나로 인해 발생할 수 있습니다 -

우리 사이트의 성능이 매우 느리고 이유 존재는 특정 자바 스크립트와 CSS 파일은 캐시되지 않습니다. Siteminder가 If-Modified 헤더를 제거하여 WebAgent의 IgnoreExt 매개 변수가 .js & .css 확장자를 기존의 비보호 파일 유형 목록 (JS 또는 CSS 파일이 캐시되지 않은 상태)에 추가 할 수 있도록했습니다. 문제는 이제 캐시되지 않는 파일이 2 개 (즉, 서버가 304를 반환하지 않음) 만보고 응답 헤더가 손상된 것입니다. 서버는 304를 반환하지만 헤더에 약간의 정크 텍스트가 있기 때문에 클라이언트는 컨텐트를 가져올 위치를 결정할 수 없습니다. 그것은 다음과 같습니다 - 완전히 다른 2 개 개의 파일 (봄 Webflow의 일부) 또는 SiteMinder와 아파치의 구성 또는 뭔가

alt text http://img187.imageshack.us/img187/2358/dojo.gif

alt text http://img246.imageshack.us/img246/2087/tundra.gif

지금이 알려진 수 문제. 아무도 이걸 보지 못했 니? 찾고자하는 곳이면 어떨까요?

+0

문제가되는 구성 요소 (예 : siteminder, apache)를 찾을 때까지 일부 구성 요소를 제거하여 문제의 범위를 좁히는 것이 좋습니다. –

답변

0

비슷한 상황에서 WebLogic 10mp2를 사용하여 Apache 2.0.59를 실행하고있었습니다. 간헐적으로, 우리는 유효한 HTTP 응답 앞에 데이터가 있다는 것을 알게 될 것입니다. 데이터는 304 Not-Modified 응답 후에 항상 gzipped 0이었습니다. 손상된 헤더는 서명으로 시작됩니다. 1F 8B 08 ...

이 문제는 캐시 된 리소스와 함께 mod_deflate를 사용했을 때 발생하는 것으로 보입니다. mod_deflate를 비활성화하여이 문제를 해결할 수있었습니다. 지금까지 mod_deflate 도매를 사용하지 못하게했지만 mod_deflate를 사용하지 않는 범위를 좁히기 위해 노력하고 있습니다. 아파치 WebServer 프로젝트는 2.1.1에서 수정 사항을 암시합니다 :

*) mod_deflate : 길이가 0 인 응답을 수축시키지 마십시오. 예 : proxied 304 's [Allan Edwards]