【问题标题】:Corrupted HTTP headers on Apache/Weblogic 9.2Apache/Weblogic 9.2 上的 HTTP 标头损坏
【发布时间】:2009-04-09 13:34:12
【问题描述】:

我有一个很奇怪的问题。我的应用程序堆栈基于 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,但标头中有一些垃圾文本,因此客户端无法决定从哪里获取内容。它看起来像这样 -

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

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

现在这可能是 2 个文件(Spring Webflow 的一部分)或 Apache 中的配置与 SiteMinder 或其他东西的已知问题。有人遇到过这个吗?知道从哪里开始寻找吗?

【问题讨论】:

  • 我建议您通过删除一些组件来缩小问题范围,直到找到有问题的组件(例如:siteminder、apache)。

标签: apache spring caching http-headers


【解决方案1】:

我们在运行 Apache 2.0.59 和 WebLogic 10mp2 时遇到了类似的情况。间歇性地,我们会发现数据位于有效的 HTTP 响应前面。在 304 Not-Modified 响应之后,数据始终是 gzipped 0。损坏的标头以签名 1F 8B 08...

开头

问题似乎源于将 mod_deflate 与缓存资源一起使用。我们已经能够通过禁用 mod_deflate 来消除这个问题。迄今为止,我们已禁用 mod_deflate 批发,但正在努力缩小禁用 mod_deflate 的范围。 Apache WebServer 项目暗示了 2.1.1 中的修复:

*) mod_deflate: 不要缩小零长度的响应 例如代理 304 的 [Allan Edwards]

【讨论】:

    猜你喜欢
    • 2015-01-02
    • 2014-02-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-13
    • 1970-01-01
    • 2016-08-09
    相关资源
    最近更新 更多