需要在 Apache 中的每个请求中添加请求标头

需要在 Apache 中的每个请求中添加请求标头

我正在尝试通过 Apache(版本 2.2)向每个请求添加标头值。我已编辑我的 VirtualHost 以包含以下变体:(我已尝试在所有这些情况下使用 RequestHeader 和 Header、add 和 set)

RequestHeader set X-test_url "Test"

或者

<Directory />
  RequestHeader set X-test_url "Test"
</Directory>

或者

<Location ~ "/*" >
  RequestHeader set X-test_url "Test"
</Location>

很难解释我是如何走到这一步的,但我必须在 Apache 中完成这件事。我再次尝试将标头值添加到每个请求中。谢谢。

答案1

所以你的第一个应该可以正常工作。我刚刚测试了以下内容。在 Red Hat 系统上,我将其添加RequestHeader add X-LocalHeader "Headers For the Win"到我的 httpd.conf 文件中。

然后,我编写了一个快速 Python 脚本来转储我的环境:


#!/usr/bin/python

import os
print 'Content-type: text/plain'
print

for tup in os.environ.items():
    print '%s: %s' % tup

最后,Apache 重新启动并curl产生以下内容:

[jeff@marvin ~]$ curl http://localhost/cgi-bin/test.py
HTTP_接受:*/*
HTTP_USER_AGENT:curl/7.19.7
服务器名称:本地主机
远程地址:127.0.0.1
服务器协议:HTTP/1.1
脚本文件名:/var/www/cgi-bin/test.py
远程端口:42551
服务器软件:Apache/2.2.13 (Fedora)
服务器管理员:root@localhost
脚本名称:/cgi-bin/test.py
服务器签名:Apache/2.2.13

请求方法:获取
HTTP_HOST: 本地主机
服务器端口:80
网关接口: CGI/1.1
请求参数:
路径:/sbin:/usr/sbin:/bin:/usr/bin
请求URI:/cgi-bin/test.py
HTTP_X_LOCALHEADER:获胜的标头
服务器地址:127.0.0.1
文档根目录:/var/www/html

如您所见,我设置了“HTTP_X_LOCALHEADER”值,它与我们之前添加的标头相对应。看起来您做对了,但它仍然不起作用吗?

相关内容