Apache mod_headers修改不在ProxyPass上传递

时间:2018-02-07 16:25:06

标签: apache http websocket tomcat8 mod-headers

我有来自Apache http服务器的Web套接字GET请求,并被转发到Apache Tomcat 8.5.x服务器(此处表示为192.168.1.77:80)。

我正在尝试使用mod_headers设置“upgrade”标头值。

在我的VirtualHost标签中,我具有以下内容:

<LocationMatch "/somewhere">
   ProxyPass ws://192.168.1.77:80/socket
   RequestHeader set Upgrade "myvalue"
</LocationMatch>

这不像我期望的那样有效。该集似乎适用于Apache http但不适用于Apache Tomcat。

在Apache http中,当我将%{Upgrade} i 添加到我的LogFormat时,我看到“Upgrade”标题设置为“myvalue”。

但是,在Tomcat日志中,如果我添加*%{Upgrade} i“,我看到我的RequestHeader设置操作没有生效,Tomcat在原始GET请求中记录”Upgrade“标头的原始值

注意:我已经尝试添加“早期”参数,如下所示:

<LocationMatch "/somewhere">
   ProxyPass ws://192.168.1.77:80
   RequestHeader set Upgrade "myvalue" early
</LocationMatch>

对于出了什么问题或者我可能缺少什么的想法?

1 个答案:

答案 0 :(得分:0)

我使用mod_proxy_wstunnel,显然是升级标题&#34; WebSocket&#34;在该模块中是硬编码的。