3

我正在使用mod_jk并将apache http server我的请求转发给两个tomcats,并且它们运行良好。

我正在使用 Chrome 浏览器插件(高级 Rest 客户端)来测试它。当我向tomcat(端口 8080)发出直接请求时,我在 chrome 插件中获得响应标头。但是当我使用apache(端口 80)时,我得到了正确的响应,但 HTTP 响应标头为空白。

我试图在帮助中搜索这个Apache,但找不到任何有用的东西。

如果您需要更多信息,请告诉我。

4

2 回答 2

0

“我得到了正确的响应,但 HTTP 响应标头为空白。” <- 这句话不合逻辑而且有点令人困惑,因为如果您缺少响应标头,那么响应绝不是“正确的”;但我会假设您是在说您收到正确的响应正文(即 HTML)。这仍然使您对响应标头为空白的含义感到困惑,因为很难判断您是指状态行(响应的第一行,即:)HTTP/1.1 200 OK还是其他标头字段或两者兼而有之。

从状态行开始,我将假设它确实存在,因为如果不是,您的浏览器几乎肯定会抛出错误而不是向您显示页面(我假设您的意思是“正确响应”)。

现在是其他标题。默认情况下,Apache 通常会添加一些与日期和缓存相关的响应头。实际上很难关闭所有这些,所以我倾向于相信您的响应标头实际上在传输的数据中不是空白的。

如果我是对的,那么您的“问题”最可能的原因不是服务器而是客户端,特别是您用来查看标头的插件。我对您正在使用的插件了解不多,但我想到了 2 个可能性:

1.) Apache 正在返回您的插件无法解析的标头。Apache 发送无效标头的情况非常罕见,因此故障可能是客户端解析器。

2.) 您的 Apache 选项是强制no-cache和/或no-store缓存控制,这会导致文档在插件可以读取之前过期和删除。

在您的位置上,我会尝试以下一项或多项:

1.) 尝试其他浏览器和/或标题显示扩展。我使用 FF "Live HTTP Headers" 扩展。

2.) 尝试使用WireShark之类的工具“在线”嗅探数据,以查看服务器真正发送的内容

于 2013-10-18T02:51:53.313 回答
0

除非给出更多解释,否则很难确定根本原因。请提供您的workers.properties、httpd.conf 的内容。

作为参考,请访问此链接以进行实际的解释!

于 2013-10-17T12:04:01.193 回答