0

我最近开始使用 F5 的 BigIP Web Accelerator 来代理我的 tomcat Web 服务器。缓存由 HTTP 响应 304 触发的来自 tomcat 的内容可能存在错误(请参阅:http: //support.f5.com/kb/en-us/solutions/public/12000/800/sol12802.html) .

为了证明这是正确的理论 - 我想暂时禁用来自 tomcat 服务器的 304 HTTP 响应,看看它是否能解决问题。

Ubuntu 上的 tomcat 版本是 7.0.26-1。在 context.xml 中设置并重新启动 tomcat 并没有解决问题。

欢迎提出建议!

4

1 回答 1

0

我不知道这是否可以通过tomcat中的配置进行。我几乎不这么认为,至少对于非静态文件。(但是我不知道)。

但是您要求提供建议,所以我会尝试删除负责 HTTP 304 响应的请求和响应标头。所以在响应中,这将是ETag标题。在请求中,它将是If-None-Match andIf-Modified-Since标头。

如何实现这一点取决于您的环境。您可以为您的应用程序编写一个 Java EE 过滤器来删除它们,或者在 tomcat 中全局使用阀门(我认为后者是 tomcat 特定的可能性)。

如果您的 Tomcat 前面有一个带有 mod_jk 的 apache,您可以使用 mod_headers 取消设置标头(访问http://httpd.apache.org/docs/2.2/mod/mod_headers.html)或者如果 apache 本身正在生成标头只需轮到 ETag 生成。我能想到的最后一种可能性是您的 f5 设备提供了一种删除标题的方法。

希望这可以帮助!

于 2013-04-11T07:36:19.990 回答