# HG changeset patch # User Patrick Mezard <pmez...@gmail.com> # Date 1276354342 -7200 # Node ID 771c93c657b8fca58f6ae8eee7f8bbfa8e02c03c # Parent 665a0f2365f59ddf58e862ff8ccf830568c89fb9 doc: add configuration samples
configuration.txt is thorough and accurate but lacked sample configurations clarifying both the syntax and the relations between global, defaults, frontend, backend and listen sections. Besides, almost all examples to be found in haproxy-en.txt or online tutorials make use of the 'listen' syntax while 'frontend/backend' is really the one to know about. diff --git a/doc/configuration.txt b/doc/configuration.txt --- a/doc/configuration.txt +++ b/doc/configuration.txt @@ -37,6 +37,7 @@ 2. Configuring HAProxy 2.1. Configuration file format 2.2. Time format +2.3. Examples 3. Global parameters 3.1. Process management and security @@ -370,6 +371,52 @@ - d : days. 1d = 24h = 1440m = 86400s = 86400000ms +2.3. Examples +------------- + + # Simple configuration for an HTTP proxy listening on port 80 on all + # interfaces and forwarding requests to a single backend "servers" with a + # single server "server1" listening on 127.0.0.1:8000 + global + daemon + maxconn 256 + + defaults + mode http + timeout connect 5000ms + timeout client 50000ms + timeout server 50000ms + + frontend http-in + bind *:80 + default_backend servers + + backend servers + server server1 127.0.0.1:8000 maxconn 32 + + + # The same configuration defined with a single listen block. Shorter but + # less expressive, especially in HTTP mode. + global + daemon + maxconn 256 + + defaults + mode http + timeout connect 5000ms + timeout client 50000ms + timeout server 50000ms + + listen http-in + bind *:80 + server server1 127.0.0.1:8000 maxconn 32 + + +Assuming haproxy is in $PATH, test these configurations in a shell with: + + $ sudo haproxy -f configuration.conf -d + + 3. Global parameters --------------------