Feature #1556
closedAllow matching against any arbitrary HTTP header in the configuration file regexps
Description
It should be possible to match against any HTTP header from the config file, rather than being limited to only matching against Host, User-Agent, Referrer and Cookie.
I can think of 3 ways to achieve this:
1. Introduce a new $REQUEST[] table in the configuration file that allows matching against any header, and leave the Host, User-Agent, Referrer and Cookie options in the $HTTP[] table for backwards compatibility. This means there are two ways of testing against these 4 headers, which is against the lighttpd spirit of lightness.
2. Introduce $REQUEST[] as above, and remove the Host, User-Agent, Referrer and Cookie options from $HTTP[]. This isn't backwards compatible but is the architecturally cleanest option.
3. Treat any string between the brackets in $HTTP[] that is not recognized as having special meaning to lighttpd as a header name to match against. This has the downside that there is a small risk of current $HTTP[] options such as "remoteip" conflicting with future HTTP header names. However, it does mean that internally in the code, the Host, User-Agent, Referrer and Cookie options could be removed as special cases without changing their functionality to end users.
NOTE: Implementing this arbitrary header matching would also resolve ticket 1119.
Added by gstrauss about 8 years ago
Added by gstrauss about 8 years ago
[core] $REQUEST_HEADER[...] subsumes other config (#1556)
x-ref:
"Allow matching against any arbitrary HTTP header in the configuration file regexps"
https://redmine.lighttpd.net/issues/1556
Added by gstrauss over 7 years ago
[core] fix $REQUEST_HEADER[...] parsing in config (#1556)
x-ref:
"Allow matching against any arbitrary HTTP header in the configuration file regexps"
https://redmine.lighttpd.net/issues/1556
https://redmine.lighttpd.net/boards/2/topics/7609
Also available in: Atom
[core] config match w/ arbitrary HTTP request hdrs (fixes #1556)
x-ref:
"Allow matching against any arbitrary HTTP header in the configuration file regexps"
https://redmine.lighttpd.net/issues/1556