mod_setenv: Lighttpd Send Custom Headers

How do I add a header to the HTTP request that was received from the client under Lighttpd web server?

You can use the setenv module (mod_setenv) which allows influencing the environment external applications are spawned in and the response headers the server sends to the clients. Edit lighttpd.conf, enter:
# vi /etc/lighttpd/lighttpd.conf
Add mod_setenv:

ADVERTISEMENTS

server.modules += ( "mod_setenv" )

Set X-proxy header:

setenv.add-response-header = ( "X-Proxy" => "www-02" )

Or sent server itself:

setenv.add-request-header = ( "X-Proxy" => server.name )

Save and close the file. Reload lighttpd:
# service lighttpd reload
To see headers, enter:
$ curl -I http://example.com/

References:

🐧 Get the latest tutorials on SysAdmin, Linux/Unix, Open Source/DevOps topics:
CategoryList of Unix and Linux commands
File Managementcat
FirewallCentOS 8 OpenSUSE RHEL 8 Ubuntu 16.04 Ubuntu 18.04 Ubuntu 20.04
Network Utilitiesdig host ip nmap
OpenVPNCentOS 7 CentOS 8 Debian 10 Debian 8/9 Ubuntu 18.04 Ubuntu 20.04
Package Managerapk apt
Processes Managementbg chroot cron disown fg jobs killall kill pidof pstree pwdx time
Searchinggrep whereis which
User Informationgroups id lastcomm last lid/libuser-lid logname members users whoami who w
WireGuard VPNCentOS 8 Debian 10 Firewall Ubuntu 20.04

ADVERTISEMENTS
1 comment… add one
  • stibot Feb 15, 2015 @ 8:14

    For some reason it did not work for me correctly.

    I tried setenv.add-response-header = ( “Access-Control-Allow-Origin” => “*” )

    since Chrome was not able to load MathJax fonts. Only some files were stamped within their header. I do not understand well the reasoning but it started to work when I moved the above line into the current host section:

    $HTTP["host"] =~ "mathjax" {
      setenv.add-response-header = ( "Access-Control-Allow-Origin" => "*" )
    }
    

Leave a Reply

Your email address will not be published.

Use HTML <pre>...</pre>, <code>...</code> and <kbd>...</kbd> for code samples.