2009-04-09 32 views
0

我有一個很奇怪的問題。我的應用程序堆棧基於J2EE,並使用Spring 2.5.6和Spring Webflow 2.0.6。應用程序服務器是Weblogic 9.2,前面有一個Apache服務器(負載平衡)。我們使用SiteMinder Webagent作爲apache中的認證層。Apache/Weblogic 9.2上的HTTP標頭損壞

下面的問題可以通過以上任意層造成的 -

我們的網站性能是非常緩慢和存在的原因,某些JavaScript和CSS文件不被緩存。我們知道Siteminder剝去了If-Modified標題,因此我們啓用了IgnoreExt參數(在WebAgent中),以將.js & .css擴展名添加到現有的不受保護的文件類型列表中(沒有此JS文件或緩存的CSS文件)。現在的問題是我看到只有2個文件沒有被緩存(即服務器沒有返回304),原因是響應頭被損壞。服務器確實返回了一個304,但是在頭部有一些垃圾文本,因此客戶端無法決定從哪裏獲取內容。它看起來像這樣 -

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

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

現在,這可以知道的問題,2檔(春季Webflow的一部分),或在Apache的與SiteMinder的配置或別的東西完全。有人遇到過這個?任何想法從哪裏開始尋找?

+0

我建議你開始縮小問題,通過刪除一些組件,直到你找到有問題的組件(例如:siteminder,Apache)。 – 2009-04-14 11:50:28

回答

0

我們遇到了類似的情況,在WebLogic 10mp2上運行Apache 2.0.59。間歇地,我們會發現數據位於有效的HTTP響應之前。在304 Not-Modified響應後,數據總是被壓縮爲0。腐敗的標題以簽名1F 8B 08 ...

開頭,這個問題似乎源於對緩存資源使用mod_deflate。我們已經能夠通過禁用mod_deflate消除這個問題。迄今爲止,我們禁用了mod_deflate批發,但正在努力縮小禁用mod_deflate的位置。 Apache WebServer項目提到2.1.1中的修復:

*)mod_deflate:不縮小長度爲零的響應 代理304的[艾倫愛德華茲]