Scroll to navigation

Perlbal::Manual::WebServer(3pm) User Contributed Perl Documentation Perlbal::Manual::WebServer(3pm)

NAME

Perlbal::Manual::WebServer - Configuring Perlbal as a Web Server

VERSION

Perlbal 1.78.

DESCRIPTION

How to configure a Perlbal Web Server service.

READ ME FIRST

Please read Perlbal::Manual::Configuration first for a better explanation on how to configure Perlbal. This document will make much more sense after reading that.

Configuring Perlbal as a Web Server

By default, perlbal looks for a configuration file at /etc/perlbal/perlbal.conf.

You can also point perlbal at a different configuration file with the -c flag.

    $ perlbal -c /home/user/perlbal.conf

Here's a very simple example where we configure a simple web server that serves an index file under /tmp

    CREATE SERVICE perlbal_test
        SET role           = web_server
        SET listen         = 0.0.0.0:80
        SET docroot        = /tmp
    ENABLE perlbal_test

The first line creates a service called "perlbal_test". The last line enables that service.

The three parameters state - in order - that the service is a web server, that it listens on all addresses on port 80, and that its document root is "/tmp".

Parameters

You can set parameters via commands of either forms:

    SET <service-name> <param> = <value>
    SET <param> = <value>
Show directory indexes when an HTTP request is for a directory. Warning: this is not an async operation, so will slow down Perlbal on heavily loaded sites.

Default if false.

Directory root for web server.
Enable Perlbal's multiple-files-in-one-request mode, where a client have use a comma-separated list of files to return, always in text/plain.

Useful for web apps which have dozens/hundreds of tiny css/js files, and don't trust browsers/etc to do pipelining.

Decreases overall round-trip latency a bunch, but requires app to be modified to support it. See t/17-concat.t test for details.

Default is false.

Enable verification of the Content-MD5 header in HTTP PUT requests.

Default is true.

Enable HTTP DELETE requests.

Default is false.

Enable HTTP PUT requests.

Default is false.

Comma-separated list of filenames to load when a user visits a directory URL, listed in order of preference.

Default is index.html.

The maximum content-length that will be accepted for a PUT request, if enable_put is on.

Default is 0, which means there is no limit.

If PUT requests are enabled, require this many levels of directories to already exist. If not, fail.

Default is 0.

Whether to provide a "Server" header.

Perlbal by default adds a header to all replies (such as the web_server role). By setting this default to "off", you can prevent Perlbal from identifying itself.

Default is "on".

SEE ALSO

Perlbal::Manual::Configuration, Perlbal::Manual::Management.

2022-06-28 perl v5.34.0