Apache - 根据代理响应设置环境变量 header

Apache - set environment variable from proxy response header

我正在将 apache 请求代理到 s3,我想将响应 header 重写为新制作的 header

这是我的配置:

SetEnvIf x-amz-meta-link "(.*)" DYN_CSS=[=11=]
Header set Link "</static_assets/stylesheets/application-%{DYN_CSS}e.css>; rel=preload; as=stylesheet" env=DYN_CSS

s3 Header 配置为 x-amz-meta-link: css

我希望最终回复中的 header 是

 </static_assets/stylesheets/application-css.css>; rel=preloadas=stylesheet" 

但我得到的是(空变量)

</static_assets/stylesheets/application-.css>; 

如果您使用的是 2.4.10+ 版本,您可以使用: 我建议使用 Header 指令的 "expr=..." 形式并使用 %{resp:x-amz-meta-link} 来获得响应 header 值

SetEnvIf 仅读取请求 headers,在响应 headers 可用之前运行,等等