【发布时间】:2015-01-20 07:54:27
【问题描述】:
我正在使用带有 mod_proxy 的 Apache 2.4 服务器作为 Tomcat 服务器的 HTTP 反向代理。反向代理适用于拆分 DNS 配置,其中“server.com”可能指向实际的 HTTP 服务器或我的反向代理,具体取决于客户端所在的位置。
我遇到的问题是我们的客户端应用程序有一个问题,有时它会多次包含标头。例如,HTTP 请求最终可能如下所示:
POST server.com HTTP/1.1
Some-Header: foo
Authorization: BASIC abc123
Authorization: BASIC abc123
Other-Headers: ...
如果客户端直接与 Tomcat 对话,这可以正常工作,但如果它通过反向代理,那么重复的标头似乎会被破坏,并且 Tomcat 最终会收到如下所示的请求:
POST server.com HTTP/1.1
Some-Header: foo
Authorization: BASIC abc123, BASIC abc123
Other-Headers: ...
我使用 Wireshark 来检查 HTTP 请求,因为它们在 Client->Proxy->Tomcat 链中发送/接收,而 Apache 绝对是将两个标头“折叠”为一个的组件。
有没有一种方法可以配置此行为,即发送两个标头或仅发送一个标头?我不希望发生这种“崩溃”......
【问题讨论】:
-
您可能可以使用 mod_headers 删除第二个标题...您检查过他们的文档吗?
标签: apache mod-rewrite reverse-proxy mod-proxy mod-headers