Provided by: haproxy_1.4.24-2ubuntu0.4_amd64 bug

NAME

       HAProxy - fast and reliable http reverse proxy and load balancer

SYNOPSIS

       haproxy  -f  <configuration file>  [-n maxconn]  [-N maxconn]  [-d]  [-D]  [-q]  [-V] [-c]
       [-p <pidfile>] [-s] [-l] [-dk] [-ds] [-de] [-dp] [-db] [-m <megs>] [{-sf|-st} pidlist...]

DESCRIPTION

       HAProxy is a TCP/HTTP reverse proxy which is particularly  suited  for  high  availability
       environments. Indeed, it can:
        - route HTTP requests depending on statically assigned cookies ;
        - spread the load among several servers while assuring server
          persistence through the use of HTTP cookies ;
        - switch to backup servers in the event a main one fails ;
        - accept connections to special ports dedicated to service
          monitoring ;
        - stop accepting connections without breaking existing ones ;
        - add/modify/delete HTTP headers both ways ;
        - block requests matching a particular pattern ;
        - hold clients to the right application server depending on
          application cookies
        - report detailed status as HTML pages to authenticated users from an
          URI intercepted from the application.

       It  needs  very  little resource. Its event-driven architecture allows it to easily handle
       thousands of simultaneous  connections  on  hundreds  of  instances  without  risking  the
       system's stability.

OPTIONS

       -f <configuration file>
              Specify configuration file path.

       -n <maxconn>
              Set the high limit for the total number of simultaneous connections.

       -N <maxconn>
              Set the high limit for the per-listener number of simultaneous connections.

       -d     Start  in  foregreound  with  debugging  mode enabled.  When the proxy runs in this
              mode, it dumps every connections, disconnections, timestamps, and HTTP  headers  to
              stdout.  This  should  NEVER  be  used  in an init script since it will prevent the
              system from starting up.

       -D     Start in daemon mode.

       -q     Disable messages on output.

       -V     Displays messages on output even when -q or 'quiet' are specified. Some information
              about pollers and config file are displayed during startup.

       -c     Only  checks config file and exits with code 0 if no error was found, or exits with
              code 1 if a syntax error was found.

       -p <pidfile>
              Ask the process to write down each of its children's pids to this  file  in  daemon
              mode.

       -s     Show  statistics  (only if compiled in).  Statistics are only available if compiled
              in with the 'STATTIME' option.  It's only used during code optimization phases, and
              will soon disappear.

       -l     Show even more statistics (implies '-s').

       -dk    Disable use of kqueue(). kqueue() is available only on BSD systems.

       -ds    Disable use of speculative epoll(). epoll() is available only on Linux 2.6 and some
              custom Linux 2.4 systems.

       -de    Disable use of epoll(). epoll() is available only on  Linux  2.6  and  some  custom
              Linux 2.4 systems.

       -dp    Disables use of poll(). select() might be used instead.

       -db    Disables  background  mode  (stays  in  foreground,  useful  for  debugging).   For
              debugging, the '-db' option is very useful as it temporarily disables  daemon  mode
              and  multi-process mode. The service can then be stopped by simply pressing Ctrl-C,
              without having to edit the config nor run full debug.

       -m <megs>
              Enforce a memory usage limit to a maximum of <megs> megabytes.

       -sf <pidlist>
              Send FINISH signal to the pids  in  pidlist  after  startup.  The  processes  which
              receive  this  signal  will  wait  for  all sessions to finish before exiting. This
              option must be  specified  last,  followed  by  any  number  of  PIDs.  Technically
              speaking, SIGTTOU and SIGUSR1 are sent.

       -st <pidlist>
              Send  TERMINATE  signal  to  the pids in pidlist after startup. The processes which
              receive this signal will wait immediately terminate, closing all  active  sessions.
              This  option  must  be  specified last, followed by any number of PIDs. Technically
              speaking, SIGTTOU and SIGTERM are sent.

LOGGING

       Since HAProxy can run inside a chroot, it  cannot  reliably  access  /dev/log.   For  this
       reason,  it  uses the UDP protocol to send its logs to the server, even if it is the local
       server. People who experience trouble receiving  logs  should  ensure  that  their  syslog
       daemon  listens  to  the  UDP socket.  Several Linux distributions which ship with syslogd
       from the sysklogd package have UDP disabled by default. The -r option must  be  passed  to
       the daemon in order to enable UDP.

SIGNALS

       Some  signals  have  a  special  meaning  for the haproxy daemon. Generally, they are used
       between daemons and need not be used by the administrator.

       - SIGUSR1
              Tells the daemon to stop all proxies and exit once all sessions are closed.  It  is
              often referred to as the "soft-stop" signal.

       - SIGTTOU
              Tells the daemon to stop listening to all sockets. Used internally by -sf and -st.

       - SIGTTIN
              Tells  the  daemon  to  restart  listening  to  all  sockets  after a SIGTTOU. Used
              internally when there was a problem during hot reconfiguration.

       - SIGINT and SIGTERM
              Both signals can be used to quickly stop the daemon.

       - SIGHUP
              Dumps the status of all proxies and servers into the logs. Mostly used for trouble-
              shooting purposes.

       - SIGQUIT
              Dumps  information  about  memory  pools  into  the logs. Mostly used for debugging
              purposes.

       - SIGPIPE
              This signal is intercepted and ignored on systems without MSG_NOSIGNAL.

SEE ALSO

       A much better documentation can be found in haproxy-en.txt. On  debian  systems,  you  can
       find this file in /usr/share/doc/haproxy/haproxy-en.txt.gz.

AUTHOR

       HAProxy was written by Willy Tarreau. This man page was written by Arnaud Cornet and Willy
       Tarreau.

                                          17 August 2007                               HAPROXY(1)