【问题标题】:RequestHeder not getting other variables valuesRequestHeder 没有得到其他变量值
【发布时间】:2016-03-19 19:56:01
【问题描述】:

我有一个包含标头 X-Client-Cert 的请求,我需要将它分配给 apache 中虚拟主机配置中的另一个标头。我该怎么做?

RewriteEngine On

RequestHeader set NewHeader "%{X-Client-Cert}e" 

这个解决方案不起作用,因为 X-Client-Cert 不是环境变量,但是如果我用

记录访问日志
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" \"%{X-Client-Cert}i\" " ssl_f
CustomLog "logs/access_fssl.log" ssl_f

我可以看到X-Client-Cert的内容

有没有任何形式将X-Client-Cert的内容插入到NewHeader用户定义的变量中?

【问题讨论】:

  • 你真的是说你看不到 "%{X-Client-Cert}e" 和 "%{X-Client-Cert}i" 之间的区别吗?
  • "%{X-Client-Cert}e" 应该是一个环境变量。据我所知,“%{X-Client-Cert}i”中的“i”仅由 LogFormat 用于表示任何 http 请求标头,

标签: apache mod-headers


【解决方案1】:

经过一番研究,这里有一个可行的解决方案!

RewriteCond %{HTTP:X-Client-Cert} (.+)
RewriteRule .* - [E=VAR:%1]

RequestHeader set WL-Proxy-Client-Cert "%{VAR}e"

希望它可以帮助别人!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-11-11
    • 1970-01-01
    • 2015-05-14
    • 1970-01-01
    • 1970-01-01
    • 2018-03-09
    • 2019-12-04
    相关资源
    最近更新 更多