Module index
Modules
name | description |
---|---|
plugin_core | contains the core features for generic request handling, static files, log files and buffer limits. |
mod_access | lets you filter clients by IP address. |
mod_accesslog | logs requests handled by lighttpd to files, pipes or syslog. The format of the logs can be customized using printf-style placeholders. |
mod_auth | requires authentication from clients using a username and password. It supports the basic (digest not yet) authentication method as well as plaintext, htpasswd and htdigest backends. |
mod_balance | balances between different backends. |
mod_cache_disk_etag | caches generated content on disk if an etag response header is set; if the backend sends an already cached etag, the backend is closed and the file is sent directly. |
mod_debug | offers various utilities to aid you debug a problem. |
mod_deflate | mod_deflate compresses content on the fly |
mod_dirlist | lists files inside a directory. The output can be customized in various ways from style via css to excluding certain entries. |
mod_expire | add "Expires" and "Cache-Control" headers to the response |
mod_fastcgi | connect to FastCGI backends for generating response content |
mod_flv | provides flash pseudo streaming |
mod_fortune | loads quotes (aka fortune cookies) from a file and provides actions to add a random quote as response header (X-fortune) or display it as a page. |
mod_gnutls | listens on separate sockets for TLS connections (https) using GnuTLS |
mod_limit | limits concurrent connections or requests per second. |
mod_lua | load lua plugins and actions |
mod_core (lua) | provides some useful helpers written in lua |
mod_secdownload (lua) | protects files with a time limited code |
mod_memcached | caches content on memcached servers |
mod_openssl | listens on separate sockets for TLS connections (https) using OpenSSL |
mod_progress | track connection progress (state) via a unique identifier |
mod_proxy | connect to HTTP backends for generating response content |
mod_redirect | redirect clients by sending a http status code 301 plus Location header |
mod_rewrite | modifies request path and querystring |
mod_scgi | connect to SCGI backends for generating response content |
mod_status | displays a page with internal statistics like amount of requests (total or per second), active connections etc. |
mod_throttle | limits outgoing bandwidth usage |
mod_userdir | allows you to have user-specific document roots being accessed through http://domain/~user/ |
mod_vhost | offers various ways to implement virtual webhosts |
Actions
name | module | description |
---|---|---|
access.check | mod_access | allows or denies access based on client IP address |
access.deny | mod_access | denies access by returning a 403 status code |
alias | plugin_core | sets doc-root depending on a matching prefix |
auth.deny | mod_auth | handles request with "401 Unauthorized" |
auth.htdigest | mod_auth | requires authentication using a htdigest file |
auth.htpasswd | mod_auth | requires authentication using a htpasswd file |
auth.plain | mod_auth | requires authentication using a plaintext file |
auth.require_user | mod_core (lua) | require a specific authenticated user |
balance.rr | mod_balance | balance between actions (list or single action) with Round-Robin |
balance.sqf | mod_balance | balance between actions (list or single action) with SQF |
cache.disk.etag | mod_cache_disk_etag | cache responses based on the ETag response header |
core.cached_html | mod_core (lua) | try to find a file for the current url with ".html" suffix, if we couldn't find a static file for the url yet and the url doesn't already have the ".html" suffix. |
core.wsgi | mod_core (lua) | Splits the url into SCRIPT_NAME (the subdirectory a web application is mounted at) and PATH_INFO (the path the web application should route) |
core.xsendfile | mod_core (lua) | provides a simple X-Sendfile feature; send a "X-Sendfile: /path/to/file" response header from your backend |
debug.profiler_dump | mod_debug | dumps all allocated memory to the profiler output file if profiling enabled |
debug.show_connections | mod_debug | shows a page similar to the one from mod_status, listing all active connections |
debug.show_events | mod_debug | shows a plain text list of all events |
deflate | mod_deflate | waits for response headers; if the response can be compressed deflate adds a filter to compress it |
dirlist | mod_dirlist | lists file in a directory |
docroot | plugin_core | sets doc-root, and builds physical path for requested file |
env.add | plugin_core | sets a connection environment variable if not already set |
env.clear | plugin_core | removes all connection environment variables |
env.remove | plugin_core | removes a connection environment variable |
env.set | plugin_core | sets a connection environment variable |
expire | mod_expire | adds an "Expires" header to the response |
fastcgi | mod_fastcgi | connect to FastCGI backend |
flv | mod_flv | pseudo stream the current file as flash |
fortune.header | mod_fortune | adds a random quote as response header "X-fortune". |
fortune.page | mod_fortune | shows a random cookie as response text |
header.add | plugin_core | adds a new response header line |
header.append | plugin_core | appends value to response header line |
header.overwrite | plugin_core | overwrite response header line or add new one |
header.remove | plugin_core | remove existing response header |
index | plugin_core | default filenames to show in a directory |
io.buffer_in | plugin_core | set memory limit for incoming chunkqueues (default is 256KiB) |
io.buffer_out | plugin_core | set memory limit for outgoing chunkqueues (default is 256KiB) |
io.throttle | mod_throttle | set the outgoing throttle limits for current connection |
io.throttle_ip | mod_throttle | adds the current connection to an IP-based throttle pool for outgoing limits |
io.throttle_pool | mod_throttle | adds the current connection to a throttle pool for outgoing limits |
limit.con | mod_limit | limits the total amount of concurrent connections to the specified limit. |
limit.con_ip | mod_limit | limits the total amount of concurrent connections per IP to the specified limit. |
limit.req | mod_limit | limits the amount of requests per second to the specified limit. |
limit.req_ip | mod_limit | limits the amount of requests per second per IP to the specified limit. |
list | plugin_core | (lua) combines a list of actions into one action, only needed in lua |
log | plugin_core | overwrite log targets for all log levels |
log.write | plugin_core | writes a log message to the "info" log level |
lua.handler | mod_lua | load file as lua config |
map | plugin_core | maps the result of a pattern to a user defined action |
memcached.lookup | mod_memcached | searches the content in a memcached database |
memcached.store | mod_memcached | stores the generated response in a memcached database |
openssl.setenv | mod_openssl | set SSL environment strings |
pathinfo | plugin_core | splits physical path into existing file/directory and the remaining PATH_INFO |
progress.show | mod_progress | returns state information about the request tracked with the ID specified by the X-Progress-ID querystring parameter |
progress.track | mod_progress | tracks the current request if the X-Progress-ID querystring key is supplied |
proxy | mod_proxy | connect to HTTP backend |
redirect | mod_redirect | redirect clients |
req_header.add | plugin_core | adds a new request header line |
req_header.append | plugin_core | appends value to request header line |
req_header.overwrite | plugin_core | overwrite request header line or add new one |
req_header.remove | plugin_core | remove existing request header |
respond | plugin_core | returns a quick response with optional body |
rewrite | mod_rewrite | modify request path and querystring |
rewrite_raw | mod_rewrite | modify request path and querystring, matching and writing raw path |
scgi | mod_scgi | connect to SCGI backend |
secdownload | mod_secdownload (lua) | protect files with a time limited code |
set_status | plugin_core | modify HTTP status code |
static | plugin_core | handle GET and HEAD requests with a static file from disk |
static_no_fail | plugin_core | handle GET and HEAD requests with a static file from disk |
status.info | mod_status | returns the status page to the client |
userdir | mod_userdir | builds the document root by replacing certain placeholders in path with (parts of) the username. |
vhost.map | mod_vhost | maps given hostnames to action blocks |
vhost.map_regex | mod_vhost | maps matching hostname patterns to action blocks |
when | plugin_core | (lua) build a conditional block (only usable in lua) |
Setups
name | module | description |
---|---|---|
debug.show_events_after_shutdown | mod_debug | time in seconds after start of shutdown to log remaining active events |
fetch.files_static | plugin_core | starts a Fetch API provider |
fortune.load | mod_fortune | loads cookies from a file, can be called multiple times to load data from multiple files |
gnutls | mod_gnutls | setup a TLS socket |
io.timeout | plugin_core | sets the global I/O timeout (wait for network read and write) |
listen | plugin_core | listen to a socket address, see above for accepted formats (default TCP port is 80) |
log | plugin_core | sets default log targets for all log levels |
log.timestamp | plugin_core | sets the format string to use for timestamps in the log |
lua.plugin | mod_lua | load file as lua plugin |
module_load | plugin_core | load the given module(s) |
openssl | mod_openssl | setup a TLS socket |
progress.ttl | mod_progress | Time to live in seconds for entries after a disconnect in the internal lookup table |
stat_cache.ttl | plugin_core | set TTL for stat cache entries |
tasklet_pool.threads | plugin_core | sets number of background threads for blocking tasks |
workers | plugin_core | sets worker count; each worker runs in its own thread and works on the connections it gets assigned from the master worker |
workers.cpu_affinity | plugin_core | binds worker threads to a cpu, only available on Linux systems |
Options
name | module | description |
---|---|---|
access.log_blocked | mod_access | whether to log when access was denied (with log level "info") |
access.redirect_url | mod_access | url to redirect to if access was denied (not implemented yet) |
accesslog | mod_accesslog | defines the log target |
accesslog.format | mod_accesslog | defines the log format |
auth.debug | mod_auth | enable debug output |
balance.debug | mod_balance | enable debug output |
buffer_request_body | plugin_core | enable buffering request body on disk |
debug.log_request_handling | plugin_core | enable debug output for request handling |
deflate.debug | mod_deflate | enable debug output |
etag.use | plugin_core | list of properties used to calculate etag; specify empty list to disable etags. Available: "inode", "mtime", "size" |
fastcgi.log_plain_errors | mod_fastcgi | whether to prepend timestamp and other info to FastCGI stderr lines in the "backend" log |
keepalive.requests | plugin_core | maximum number of requests a client is allowed to make in one connection |
keepalive.timeout | plugin_core | how long a keep-alive connection is kept open (in seconds) |
mime_types | plugin_core | maps file extensions to MIME types |
progress.debug | mod_progress | enable debug output |
progress.methods | mod_progress | Request methods to track |
redirect.debug | mod_redirect | enable debug output |
rewrite.debug | mod_rewrite | enable debug output |
server.name | plugin_core | server name; is used in some places instead of the HTTP request hostname if the latter was not specified in the (HTTP/1.0) request |
server.tag | plugin_core | used to display server name + version in different places (HTTP response header, CGI environment, mod_dirlist footer, ...) |
stat.async | plugin_core | enables async stat() calls |
static.exclude_extensions | plugin_core | don't deliver static files with one of the listed extensions |
static.range_requests | plugin_core | enabled ranged requests |
status.css | mod_status | defines the stylesheet to use. available: unset (default), "blue" or any url you wish |
strict.post_content_length | plugin_core | require Content-Length for POST requests |
vhost.debug | mod_vhost | enable debug output |