【问题标题】:HTTP response header not coming with apache-tomcat connection using mod_jk使用 mod_jk 的 apache-tomcat 连接未附带 HTTP 响应标头
【发布时间】:2013-09-30 16:17:34
【问题描述】:

我正在使用mod_jkapache http server 将我的请求转发给两个tomcats,它们已经正常运行。

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

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

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

【问题讨论】:

  • mod_jk 不使用 http 协议与 tomcat 服务器通信。只有会话 cookie 会以这种方式传回。此外,apache http 配置起着重要作用。您可以使用 mod_headers 在响应中禁止/取消设置 http 标头。也许您可以发布更多信息?
  • 您使用的是apachetomcat 的哪个版本?在此处发布您的配置设置以寻求帮助。 mod_jk 有点过时了,你试过用mod_proxy_ajp 替换它吗?

标签: apache tomcat7 mod-jk


【解决方案1】:

“我得到了正确的响应,但 HTTP 响应标头为空白。” HTTP/1.1 200 OK)还是其他标头字段或两者兼而有之。

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

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

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

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

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

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

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

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

【讨论】:

  • 感谢您的回答。实际上它与我当前的问题相似,所以我开始赏金。在我的情况下,标题不是空白的。只是缺少一些自定义标题,最后修改的标题日期也更改如下。 "Last-Modified:Thu, 01 Jan 1970 00:00:00" 但在我本地运行良好。
  • @XenoN:你找到解决方案了吗?我也面临同样的问题。
【解决方案2】:

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

如需参考,请访问此link 以获得有效的实际解释!!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-03-24
    • 1970-01-01
    • 2011-05-09
    • 1970-01-01
    • 2012-08-31
    • 2012-04-25
    • 2012-07-11
    相关资源
    最近更新 更多