Apache-2.2

需要為 Apache 中的每個請求添加請求標頭

  • March 17, 2010

我正在嘗試通過 Apache(2.2 版)為每個請求添加一個標頭值。我已經編輯了我的 VirtualHost 以包含以下 vaiations:(我已經嘗試過 RequestHeader 和 Header,在所有這些情況下添加和設置)

RequestHeader set X-test_url "Test"

要麼

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

要麼

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

很難解釋我是如何走到這一步的,但我必須在 Apache 中完成這項工作。我再次嘗試將標頭值添加到每個請求。謝謝。

所以你的第一個應該沒問題。我剛剛測試了以下內容。在 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
SERVER_NAME:本地主機
遠端地址:127.0.0.1
伺服器協議:HTTP/1.1
SCRIPT_FILENAME:/var/www/cgi-bin/test.py
遠端埠:42551
伺服器軟體:Apache/2.2.13 (Fedora)
SERVER_ADMIN:root@localhost
SCRIPT_NAME:/cgi-bin/test.py
SERVER_SIGNATURE:Apache/2.2.13

請求方法:獲取
HTTP_HOST:本地主機
伺服器埠:80
GATEWAY_INTERFACE:CGI/1.1
請求參數:
路徑:/sbin:/usr/sbin:/bin:/usr/bin
REQUEST_URI:/cgi-bin/test.py
HTTP_X_LOCALHEADER:獲勝的標頭
伺服器地址:127.0.0.1
DOCUMENT_ROOT:/var/www/html

如您所見,我設置了一個“HTTP_X_LOCALHEADER”值,它對應於我們之前添加的標頭。看起來你做對了,它仍然無法正常工作嗎?

引用自:https://serverfault.com/questions/123558