Skip to content

Commit a488742

Browse files
author
HAProxy Community
committed
Update docs for 3.2
1 parent 4aa028d commit a488742

File tree

3 files changed

+77
-40
lines changed

3 files changed

+77
-40
lines changed

docs/3.2/configuration.html

Lines changed: 69 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<html lang="en">
33
<head>
44
<meta charset="utf-8" />
5-
<title>HAProxy version 3.2.8-4 - Configuration Manual</title>
5+
<title>HAProxy version 3.2.9 - Configuration Manual</title>
66
<link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" />
77
<link href="https://raw.githubusercontent.com/thomaspark/bootswatch/v3.3.7/cerulean/bootstrap.min.css" rel="stylesheet" />
88
<link href="../css/page.css?0.4.2-15" rel="stylesheet" />
@@ -4622,7 +4622,7 @@
46224622
You can use <strong>left</strong> and <strong>right</strong> arrow keys to navigate between chapters.<br>
46234623
</p>
46244624
<p class="text-right">
4625-
<small>Converted with <a href="https://github.com/cbonte/haproxy-dconv">haproxy-dconv</a> v<b>0.4.2-15</b> on <b>2025/11/17</b></small>
4625+
<small>Converted with <a href="https://github.com/cbonte/haproxy-dconv">haproxy-dconv</a> v<b>0.4.2-15</b> on <b>2025/11/21</b></small>
46264626
</p>
46274627
</div>
46284628
<!-- /.sidebar -->
@@ -4633,9 +4633,9 @@
46334633
<div class="text-center">
46344634
<h1><a href="http://www.haproxy.org/" title="HAProxy"><img src="../img/HAProxyCommunityEdition_60px.png?0.4.2-15" /></a></h1>
46354635
<h2>Configuration Manual</h2>
4636-
<p><strong>version 3.2.8-4</strong></p>
4636+
<p><strong>version 3.2.9</strong></p>
46374637
<p>
4638-
2025/11/07<br>
4638+
2025/11/21<br>
46394639

46404640
</p>
46414641
</div>
@@ -6338,6 +6338,8 @@ <h3 id="chapter-1.4.1" data-target="1.4.1"><small><a class="small" href="#1.4.1"
63386338
408 when the request timeout strikes before the request is complete
63396339
410 when the requested resource is no longer available and will not
63406340
be available again
6341+
413 when a HTTP/1.0 GET/HEAD/DELETE requests has a payload, also see
6342+
the &quot;<a href="#h1-accept-payload-with-any-method">h1-accept-payload-with-any-method</a>&quot; option
63416343
500 when HAProxy encounters an unrecoverable internal error, such as a
63426344
memory allocation failure, which should never happen
63436345
501 when HAProxy is unable to satisfy a client request because of an
@@ -6958,26 +6960,51 @@ <h2 id="chapter-2.4" data-target="2.4"><small><a class="small" href="#2.4">2.4.<
69586960
in the features list reported by &quot;haproxy -vv&quot;
69596961
(which means a &lt;name&gt; appears after a '+')
69606962

6961-
- streq(&lt;str1&gt;,&lt;str2&gt;) : returns true only if the two strings are equal
6962-
- strneq(&lt;str1&gt;,&lt;str2&gt;) : returns true only if the two strings differ
6963-
- strstr(&lt;str1&gt;,&lt;str2&gt;) : returns true only if the second string is found in
6964-
the first one.
6963+
- openssl_version_atleast(&lt;ver&gt;) : returns true if the current openssl
6964+
version is at least as recent as &lt;ver&gt; otherwise
6965+
false.
6966+
Libraries like LibreSSL, AWS-LC and WolfSSL also
6967+
provide a pseudo OpenSSL version.
6968+
</pre><div class="separator">
6969+
<span class="label label-success">Example:</span>
6970+
<pre class="prettyprint">
6971+
<code>ssllib_name_startswith(OpenSSL) &amp;&amp; openssl_version_atleast(1.1.1)
6972+
</code></pre>
6973+
</div><pre class="text">- openssl_version_before(&lt;ver&gt;) : returns true if the current openssl
6974+
version is strictly older than &lt;ver&gt; otherwise
6975+
false.
6976+
Libraries like LibreSSL, AWS-LC and WolfSSL also
6977+
provide a pseudo OpenSSL version.
6978+
</pre><div class="separator">
6979+
<span class="label label-success">Example:</span>
6980+
<pre class="prettyprint">
6981+
<div class="example-desc">openssl_version_before(3.5.0)</div><code></code></pre>
6982+
</div><pre class="text">- ssllib_name_startswith(&lt;name&gt;) : return true if the SSL library name
6983+
HAProxy was linked with, starts with &lt;name&gt;.
6984+
</pre><div class="separator">
6985+
<span class="label label-success">Example:</span>
6986+
<pre class="prettyprint">
6987+
<div class="example-desc">ssllib_name_startswith(wolfSSL)</div><code></code></pre>
6988+
</div><pre class="text">- streq(&lt;str1&gt;,&lt;str2&gt;) : returns true only if the two strings are equal
6989+
- strneq(&lt;str1&gt;,&lt;str2&gt;) : returns true only if the two strings differ
6990+
- strstr(&lt;str1&gt;,&lt;str2&gt;) : returns true only if the second string is found in
6991+
the first one.
69656992

6966-
- version_atleast(&lt;ver&gt;): returns true if the current haproxy version is
6967-
at least as recent as &lt;ver&gt; otherwise false. The
6968-
version syntax is the same as shown by &quot;haproxy -v&quot;
6969-
and missing components are assumed as being zero.
6993+
- version_atleast(&lt;ver&gt;): returns true if the current haproxy version is
6994+
at least as recent as &lt;ver&gt; otherwise false. The
6995+
version syntax is the same as shown by &quot;haproxy -v&quot;
6996+
and missing components are assumed as being zero.
69706997

6971-
- version_before(&lt;ver&gt;) : returns true if the current haproxy version is
6972-
strictly older than &lt;ver&gt; otherwise false. The
6973-
version syntax is the same as shown by &quot;haproxy -v&quot;
6974-
and missing components are assumed as being zero.
6998+
- version_before(&lt;ver&gt;) : returns true if the current haproxy version is
6999+
strictly older than &lt;ver&gt; otherwise false. The
7000+
version syntax is the same as shown by &quot;haproxy -v&quot;
7001+
and missing components are assumed as being zero.
69757002

6976-
- enabled(&lt;opt&gt;) : returns true if the option &lt;opt&gt; is enabled at
6977-
run-time. Only a subset of options are supported:
6978-
POLL, EPOLL, KQUEUE, EVPORTS, SPLICE,
6979-
GETADDRINFO, REUSEPORT, FAST-FORWARD,
6980-
SERVER-SSL-VERIFY-NONE
7003+
- enabled(&lt;opt&gt;) : returns true if the option &lt;opt&gt; is enabled at
7004+
run-time. Only a subset of options are supported:
7005+
POLL, EPOLL, KQUEUE, EVPORTS, SPLICE,
7006+
GETADDRINFO, REUSEPORT, FAST-FORWARD,
7007+
SERVER-SSL-VERIFY-NONE
69817008
</pre><div class="separator">
69827009
<span class="label label-success">Example:</span>
69837010
<pre class="prettyprint">
@@ -8244,7 +8271,8 @@ <h2 id="chapter-3.1" data-target="3.1"><small><a class="small" href="#3.1">3.1.<
82448271
</div><div class="page-header"><b>See also:</b> hard-stop-after, monitor</div>
82458272
<a class="anchor" name="group"></a><a class="anchor" name="3-group"></a><a class="anchor" name="3.1-group"></a><a class="anchor" name="group (Global section)"></a><a class="anchor" name="group (Process management and security)"></a><div class="keyword"><b><a class="anchor" name="group"></a><a href="#3.1-group">group</a></b> <span style="color: #080">&lt;group name&gt;</span></div><pre class="text">Similar to &quot;<span class="dropdown"><a class="dropdown-toggle" data-toggle="dropdown" href="#">gid<span class="caret"></span></a><ul class="dropdown-menu"><li class="dropdown-header">This keyword is available in sections :</li><li><a href="#gid%20%28Process%20management%20and%20security%29">Process management and security</a></li><li><a href="#gid%20%28Bind%20options%29">Bind options</a></li></ul></span>&quot; but uses the GID of group name &lt;group name&gt; from /etc/group.
82468273
See also &quot;<span class="dropdown"><a class="dropdown-toggle" data-toggle="dropdown" href="#">gid<span class="caret"></span></a><ul class="dropdown-menu"><li class="dropdown-header">This keyword is available in sections :</li><li><a href="#gid%20%28Process%20management%20and%20security%29">Process management and security</a></li><li><a href="#gid%20%28Bind%20options%29">Bind options</a></li></ul></span>&quot; and &quot;<span class="dropdown"><a class="dropdown-toggle" data-toggle="dropdown" href="#">user<span class="caret"></span></a><ul class="dropdown-menu"><li class="dropdown-header">This keyword is available in sections :</li><li><a href="#user%20%28Userlists%29">Userlists</a></li><li><a href="#user%20%28Programs%20%28deprecated%29%29">Programs (deprecated)</a></li><li><a href="#user%20%28Process%20management%20and%20security%29">Process management and security</a></li><li><a href="#user%20%28Bind%20options%29">Bind options</a></li></ul></span>&quot;.
8247-
</pre><a class="anchor" name="h1-accept-payload-with-any-method"></a><a class="anchor" name="3-h1-accept-payload-with-any-method"></a><a class="anchor" name="3.1-h1-accept-payload-with-any-method"></a><a class="anchor" name="h1-accept-payload-with-any-method (Global section)"></a><a class="anchor" name="h1-accept-payload-with-any-method (Process management and security)"></a><div class="keyword"><b><a class="anchor" name="h1-accept-payload-with-any-method"></a><a href="#3.1-h1-accept-payload-with-any-method">h1-accept-payload-with-any-method</a></b></div><pre class="text">Does not reject HTTP/1.0 GET/HEAD/DELETE requests with a payload.
8274+
</pre><a class="anchor" name="h1-accept-payload-with-any-method"></a><a class="anchor" name="3-h1-accept-payload-with-any-method"></a><a class="anchor" name="3.1-h1-accept-payload-with-any-method"></a><a class="anchor" name="h1-accept-payload-with-any-method (Global section)"></a><a class="anchor" name="h1-accept-payload-with-any-method (Process management and security)"></a><div class="keyword"><b><a class="anchor" name="h1-accept-payload-with-any-method"></a><a href="#3.1-h1-accept-payload-with-any-method">h1-accept-payload-with-any-method</a></b></div><pre class="text">Does not reject HTTP/1.0 GET/HEAD/DELETE requests with a payload with a
8275+
413 Payload Too Large HTTP response.
82488276

82498277
While It is explicitly allowed in HTTP/1.1, HTTP/1.0 is not clear on this
82508278
point and some old servers don't expect any payload and never look for body
@@ -9889,7 +9917,8 @@ <h2 id="chapter-3.2" data-target="3.2"><small><a class="small" href="#3.2">3.2.<
98899917
the polling system. The default value is adapted to the operating system. It
98909918
has been noticed that reducing it below 200 tends to slightly decrease
98919919
latency at the expense of network bandwidth, and increasing it above 200
9892-
tends to trade latency for slightly increased bandwidth.
9920+
tends to trade latency for slightly increased bandwidth. The configured value
9921+
must be lower than or equal to 1000000.
98939922
</pre><a class="anchor" name="tune.maxrewrite"></a><a class="anchor" name="3-tune.maxrewrite"></a><a class="anchor" name="3.2-tune.maxrewrite"></a><a class="anchor" name="tune.maxrewrite (Global section)"></a><a class="anchor" name="tune.maxrewrite (Performance tuning)"></a><div class="keyword"><b><a class="anchor" name="tune.maxrewrite"></a><a href="#3.2-tune.maxrewrite">tune.maxrewrite</a></b> <span style="color: #080">&lt;number&gt;</span></div><pre class="text">Sets the reserved buffer space to this size in bytes. The reserved space is
98949923
used for header rewriting or appending. The first reads on sockets will never
98959924
fill more than bufsize-maxrewrite. Historically it has defaulted to half of
@@ -33038,13 +33067,21 @@ <h2 id="chapter-12.8" data-target="12.8"><small><a class="small" href="#12.8">12
3303833067
is experimental meaning that &quot;<a href="#expose-experimental-directives">expose-experimental-directives</a>&quot; must be in the
3303933068
global section so this can be used.
3304033069

33041-
Current limitations as of 3.2: The feature is limited to the HTTP-01 challenge
33042-
for now. The current HAProxy architecture is a non-blocking model, access to
33043-
the disk is not supposed to be done after the configuration is loaded, because
33044-
it could block the event loop, blocking the traffic on the same thread. Meaning
33045-
that the certificates and keys generated from HAProxy will need to be dumped
33046-
from outside HAProxy using &quot;dump ssl cert&quot; on the stats socket.
33047-
External Account Binding (EAB) is not supported.
33070+
Current limitations as of 3.2:
33071+
- The feature is limited to the HTTP-01 or DNS-01 challenges for now. HTTP-01
33072+
is completely handled by HAProxy, but DNS-01 needs either the dataplaneAPI or
33073+
another 3rd party tool to talk to a DNS provider API.
33074+
- Configuring acme needs a configuration with a crt, it's currently not
33075+
possible to start without this crt on the disk, a key-pair must already exist
33076+
to start haproxy. It is recommanded to use an expired certificate for that.
33077+
- The current HAProxy architecture is a non-blocking model, access to the disk
33078+
is not supposed to be done after the configuration is loaded, because it
33079+
could block the event loop, blocking the traffic on the same thread. Meaning
33080+
that the certificates and keys generated from HAProxy will need to be dumped
33081+
from outside HAProxy using &quot;dump ssl cert&quot; on the stats socket. It's possible
33082+
to automate the dump of the certificates by using the dataplaneAPI or the
33083+
haproxy-dump-certs script provided in the admin/cli/ directory.
33084+
- External Account Binding (EAB) is not supported.
3304833085

3304933086
The ACME scheduler starts at HAProxy startup, it will loop over the
3305033087
certificates and start an ACME renewal task when the notAfter task is past
@@ -33179,8 +33216,8 @@ <h2 id="chapter-12.9" data-target="12.9"><small><a class="small" href="#12.9">12
3317933216
<br>
3318033217
<hr>
3318133218
<div class="text-right">
33182-
HAProxy 3.2.8-4 &ndash; Configuration Manual<br>
33183-
<small>, 2025/11/07</small>
33219+
HAProxy 3.2.9 &ndash; Configuration Manual<br>
33220+
<small>, 2025/11/21</small>
3318433221
</div>
3318533222
</div>
3318633223
<!-- /.col-lg-12 -->

docs/3.2/intro.html

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<html lang="en">
33
<head>
44
<meta charset="utf-8" />
5-
<title>HAProxy version 3.2.8-4 - Starter Guide</title>
5+
<title>HAProxy version 3.2.9 - Starter Guide</title>
66
<link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" />
77
<link href="https://raw.githubusercontent.com/thomaspark/bootswatch/v3.3.7/cerulean/bootstrap.min.css" rel="stylesheet" />
88
<link href="../css/page.css?0.4.2-15" rel="stylesheet" />
@@ -484,7 +484,7 @@
484484
You can use <strong>left</strong> and <strong>right</strong> arrow keys to navigate between chapters.<br>
485485
</p>
486486
<p class="text-right">
487-
<small>Converted with <a href="https://github.com/cbonte/haproxy-dconv">haproxy-dconv</a> v<b>0.4.2-15</b> on <b>2025/11/17</b></small>
487+
<small>Converted with <a href="https://github.com/cbonte/haproxy-dconv">haproxy-dconv</a> v<b>0.4.2-15</b> on <b>2025/11/21</b></small>
488488
</p>
489489
</div>
490490
<!-- /.sidebar -->
@@ -495,7 +495,7 @@
495495
<div class="text-center">
496496
<h1><a href="http://www.haproxy.org/" title="HAProxy"><img src="../img/HAProxyCommunityEdition_60px.png?0.4.2-15" /></a></h1>
497497
<h2>Starter Guide</h2>
498-
<p><strong>version 3.2.8-4</strong></p>
498+
<p><strong>version 3.2.9</strong></p>
499499
<p>
500500
<br>
501501

@@ -2515,7 +2515,7 @@ <h2 id="chapter-4.4" data-target="4.4"><small><a class="small" href="#4.4">4.4.<
25152515
<br>
25162516
<hr>
25172517
<div class="text-right">
2518-
HAProxy 3.2.8-4 &ndash; Starter Guide<br>
2518+
HAProxy 3.2.9 &ndash; Starter Guide<br>
25192519
<small>, </small>
25202520
</div>
25212521
</div>

docs/3.2/management.html

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<html lang="en">
33
<head>
44
<meta charset="utf-8" />
5-
<title>HAProxy version 3.2.8-4 - Management Guide</title>
5+
<title>HAProxy version 3.2.9 - Management Guide</title>
66
<link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" />
77
<link href="https://raw.githubusercontent.com/thomaspark/bootswatch/v3.3.7/cerulean/bootstrap.min.css" rel="stylesheet" />
88
<link href="../css/page.css?0.4.2-15" rel="stylesheet" />
@@ -662,7 +662,7 @@
662662
You can use <strong>left</strong> and <strong>right</strong> arrow keys to navigate between chapters.<br>
663663
</p>
664664
<p class="text-right">
665-
<small>Converted with <a href="https://github.com/cbonte/haproxy-dconv">haproxy-dconv</a> v<b>0.4.2-15</b> on <b>2025/11/17</b></small>
665+
<small>Converted with <a href="https://github.com/cbonte/haproxy-dconv">haproxy-dconv</a> v<b>0.4.2-15</b> on <b>2025/11/21</b></small>
666666
</p>
667667
</div>
668668
<!-- /.sidebar -->
@@ -673,7 +673,7 @@
673673
<div class="text-center">
674674
<h1><a href="http://www.haproxy.org/" title="HAProxy"><img src="../img/HAProxyCommunityEdition_60px.png?0.4.2-15" /></a></h1>
675675
<h2>Management Guide</h2>
676-
<p><strong>version 3.2.8-4</strong></p>
676+
<p><strong>version 3.2.9</strong></p>
677677
<p>
678678
<br>
679679

@@ -5596,7 +5596,7 @@ <h2 id="chapter-13.1" data-target="13.1"><small><a class="small" href="#13.1">13
55965596
<br>
55975597
<hr>
55985598
<div class="text-right">
5599-
HAProxy 3.2.8-4 &ndash; Management Guide<br>
5599+
HAProxy 3.2.9 &ndash; Management Guide<br>
56005600
<small>, </small>
56015601
</div>
56025602
</div>

0 commit comments

Comments
 (0)