【发布时间】:2011-07-21 19:43:27
【问题描述】:
最近在不同的 RedHat 5/Tomcat 6 服务器上运行的两个旧版 Struts 应用程序出现了一个非常奇怪的问题。一些简短的细节:
- App 1 是前端应用程序
- App 2 是一个辅助应用程序,用作文件存储系统
- App 1 有一个上传表单,它转发给 App 2
- 当上传发生时,应用 2 期望
multipart/form-data成为Content-Type的一部分
上传会在一段时间内正常工作,但会突然失败。当我查看日志时,App 2 报告 Content-Type 丢失,因此无法处理上传请求。此外,一旦丢失,它就不会再次出现。从那时起,所有上传尝试都将失败,更奇怪的是,解决此问题的唯一方法是重新启动托管 App 1 而不是 App 2 的 Tomcat。
其他怪事
- 实现上传功能的代码在一年多的时间里没有改变
- 使用 Wireshark (tshark) 嗅探 TCP 数据包
- 从 App1 发送的 HTTP 请求中正确填充的 Content-Type
- 尽管 Wireshark 报告格式错误的数据包,但 Content-Type 存在于 App2 上收到的 HTTP 请求中
任何想法为什么会发生这种情况?
【问题讨论】:
标签: java struts tomcat6 content-type redhat