我有一个运行mod_proxy的服务器,我需要重新命名一个请求头。 接近原点的代理将剥离X-Forwarded-For标题,但是我们需要这些数据来保存,所以我想将该值添加到不同的标题以允许原点将其提取出来。
从我阅读的DOCO没有办法重新命名一个头,我不明白如何将值传递到RequestHeader添加在mod_headers。
RequestHeader可以将环境variables的值插入到标题值中, SetEnvIf可以根据请求标题值设置环境variables,所以下面的configuration应该可以实现你所需要的:
SetEnvIf X-Forwarded-For (.*) saved_x_forwarded_for=$1 RequestHeader set X-Custom-Forwarded-For "%{saved_x_forwarded_for}e"
您应该使用set而不是add ,这样即使客户端发送一个包含自定义头的请求,客户端指定的值也会被覆盖(虽然这不是100%可靠的,因为X-Forwarded-For头可能是也欺骗了)。 还要testing如果收到没有X-Forwarded-For的请求会发生什么情况。