Apache2-重写响应标头密钥



如何在apache2conf中重写响应头?这可能吗?我们将apache2用于遗留服务,该服务连接到特使代理后面的服务。

Envoy总是将响应和请求标头设置为小写。他们的解决方案保留大小写格式不起作用,因为它们不尊重源标头。

我期待像这样的响应头

"DockingStation_One:44〃;

特使做

"dockingstation_one:44〃;

用他们的保留案例格式,我得到了

"Dockingstation_one:44〃;

我的想法是在向客户端发送响应之前,用apache2中的mod_rewrite或mod_headers重写头。遗憾的是,一切都不如预期。

我的最新设置:


<Location /my/service/v2>
RewriteEngine   on
# 1. Save the current value in env var (Case of header name does not matter)
SetEnvIf dockingstation_one(.*) HEADER_VALUE=$1
# 2. Delete the current header (Case of header name does not matter)
Header unset "dockingstation_one" env=HEADER_VALUE
# 3. Recreate header with the required case (Case of header name is preserved)
#    env=HEADER_VALUE ensures the header is only set if it was set to begin with
Header set "DockingStation_One" %{DOCKINGSTATION_ONE}e env=HEADER_VALUE

ProxyPass        "http://service.go:8090/v2"
ProxyPassReverse "http://service.go:8090/v2"
</Location>

永不终止。我的整个语法都错了。我的修复程序如下:

Header always set "DockingStation_One" "expr=%{resp:dockingstation_one}"

最新更新