Skip to content

Commit 5c18160

Browse files
author
HAProxy Community
committed
Update docs for dev
1 parent bac89d1 commit 5c18160

3 files changed

Lines changed: 57 additions & 23 deletions

File tree

docs/dev/configuration.html

Lines changed: 49 additions & 15 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.4-dev12-53 - Configuration Manual</title>
5+
<title>HAProxy version 3.4-dev13 - 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" />
@@ -4926,7 +4926,7 @@
49264926
You can use <strong>left</strong> and <strong>right</strong> arrow keys to navigate between chapters.<br>
49274927
</p>
49284928
<p class="text-right">
4929-
<small>Converted with <a href="https://github.com/cbonte/haproxy-dconv">haproxy-dconv</a> v<b>0.4.2-15</b> on <b>2026/05/19</b></small>
4929+
<small>Converted with <a href="https://github.com/cbonte/haproxy-dconv">haproxy-dconv</a> v<b>0.4.2-15</b> on <b>2026/05/20</b></small>
49304930
</p>
49314931
</div>
49324932
<!-- /.sidebar -->
@@ -4937,9 +4937,9 @@
49374937
<div class="text-center">
49384938
<h1><a href="http://www.haproxy.org/" title="HAProxy"><img src="../img/HAProxyCommunityEdition_60px.png?0.4.2-15" /></a></h1>
49394939
<h2>Configuration Manual</h2>
4940-
<p><strong>version 3.4-dev12-53</strong></p>
4940+
<p><strong>version 3.4-dev13</strong></p>
49414941
<p>
4942-
2026/05/13<br>
4942+
2026/05/20<br>
49434943

49444944
</p>
49454945
</div>
@@ -8165,12 +8165,27 @@ <h2 id="chapter-3.1" data-target="3.1"><small><a class="small" href="#3.1">3.1.<
81658165
relative path is used with &quot;<span class="dropdown"><a class="dropdown-toggle" data-toggle="dropdown" href="#">ca-file<span class="caret"></span></a><ul class="dropdown-menu"><li class="dropdown-header">This keyword is available in sections :</li><li><a href="#ca-file%20%28Bind%20options%29">Bind options</a></li><li><a href="#ca-file%20%28Server%20and%20default-server%20options%29">Server and default-server options</a></li></ul></span>&quot;, &quot;<a href="#ca-verify-file">ca-verify-file</a>&quot; or &quot;<span class="dropdown"><a class="dropdown-toggle" data-toggle="dropdown" href="#">crl-file<span class="caret"></span></a><ul class="dropdown-menu"><li class="dropdown-header">This keyword is available in sections :</li><li><a href="#crl-file%20%28Bind%20options%29">Bind options</a></li><li><a href="#crl-file%20%28Server%20and%20default-server%20options%29">Server and default-server options</a></li></ul></span>&quot;
81668166
directives. Absolute locations specified in &quot;<span class="dropdown"><a class="dropdown-toggle" data-toggle="dropdown" href="#">ca-file<span class="caret"></span></a><ul class="dropdown-menu"><li class="dropdown-header">This keyword is available in sections :</li><li><a href="#ca-file%20%28Bind%20options%29">Bind options</a></li><li><a href="#ca-file%20%28Server%20and%20default-server%20options%29">Server and default-server options</a></li></ul></span>&quot;, &quot;<a href="#ca-verify-file">ca-verify-file</a>&quot; and
81678167
&quot;<span class="dropdown"><a class="dropdown-toggle" data-toggle="dropdown" href="#">crl-file<span class="caret"></span></a><ul class="dropdown-menu"><li class="dropdown-header">This keyword is available in sections :</li><li><a href="#crl-file%20%28Bind%20options%29">Bind options</a></li><li><a href="#crl-file%20%28Server%20and%20default-server%20options%29">Server and default-server options</a></li></ul></span>&quot; prevail and ignore &quot;<a href="#ca-base">ca-base</a>&quot;.
8168-
</pre><a class="anchor" name="chroot"></a><a class="anchor" name="3-chroot"></a><a class="anchor" name="3.1-chroot"></a><a class="anchor" name="chroot (Global section)"></a><a class="anchor" name="chroot (Process management and security)"></a><div class="keyword"><b><a class="anchor" name="chroot"></a><a href="#3.1-chroot">chroot</a></b> <span style="color: #080">&lt;jail dir&gt;</span></div><pre class="text">Changes current directory to &lt;jail dir&gt; and performs a chroot() there before
8168+
</pre><a class="anchor" name="chroot"></a><a class="anchor" name="3-chroot"></a><a class="anchor" name="3.1-chroot"></a><a class="anchor" name="chroot (Global section)"></a><a class="anchor" name="chroot (Process management and security)"></a><div class="keyword"><b><a class="anchor" name="chroot"></a><a href="#3.1-chroot">chroot</a></b> <span style="color: #800">{ <span style="color: #080">&lt;jail dir&gt;</span> | auto }</span></div><pre class="text">Changes current directory to &lt;jail dir&gt; and performs a chroot() there before
81698169
dropping privileges. This increases the security level in case an unknown
81708170
vulnerability would be exploited, since it would make it very hard for the
8171-
attacker to exploit the system. This only works when the process is started
8172-
with superuser privileges. It is important to ensure that &lt;jail_dir&gt; is both
8173-
empty and non-writable to anyone.
8171+
attacker to exploit the system. It is important to ensure that &lt;jail dir&gt;
8172+
is both empty and non-writable to anyone. When the process is started with
8173+
superuser privileges, the chroot() is performed directly. On Linux, when
8174+
started unprivileged, haproxy attempts to perform it from inside a new
8175+
user namespace created with unshare(CLONE_NEWUSER); if that mechanism is
8176+
unavailable the chroot() will fail with the usual error.
8177+
8178+
As a special case, &lt;jail dir&gt; may be set to &quot;auto&quot;, in which case haproxy
8179+
creates an anonymous temporary directory, unlinks it, and chroots into it.
8180+
The resulting jail has no name in the filesystem and is empty and read-only,
8181+
removing the need to prepare a dedicated jail directory.
8182+
8183+
When starting with superuser privileges, a warning will be displayed if no
8184+
chroot is used, in order to encourage users to always use the mechanism. If
8185+
for any reason there is a compelling reason not to use chroot (e.g. access to
8186+
a server via a UNIX socket with an unconvenient path), it remains possible to
8187+
silence the warning by adding an explicit &quot;chroot /&quot;, which has the benefit
8188+
of being visible in a configuration.
81748189
</pre><a class="anchor" name="close-spread-time"></a><a class="anchor" name="3-close-spread-time"></a><a class="anchor" name="3.1-close-spread-time"></a><a class="anchor" name="close-spread-time (Global section)"></a><a class="anchor" name="close-spread-time (Process management and security)"></a><div class="keyword"><b><a class="anchor" name="close-spread-time"></a><a href="#3.1-close-spread-time">close-spread-time</a></b> <span style="color: #080">&lt;time&gt;</span></div><pre class="text">Define a time window during which idle connections and active connections
81758190
closing is spread in case of soft-stop. After a SIGUSR1 is received and the
81768191
grace period is over (if any), the idle connections will all be closed at
@@ -10867,16 +10882,25 @@ <h2 id="chapter-3.2" data-target="3.2"><small><a class="small" href="#3.2">3.2.<
1086710882
<a class="anchor" name="tune.quic.frontend.stream-data-ratio"></a><a class="anchor" name="3-tune.quic.frontend.stream-data-ratio"></a><a class="anchor" name="3.2-tune.quic.frontend.stream-data-ratio"></a><a class="anchor" name="tune.quic.frontend.stream-data-ratio (Global section)"></a><a class="anchor" name="tune.quic.frontend.stream-data-ratio (Performance tuning)"></a><div class="keyword"><b><a class="anchor" name="tune.quic.frontend.stream-data-ratio"></a><a href="#3.2-tune.quic.frontend.stream-data-ratio">tune.quic.frontend.stream-data-ratio</a></b> <span style="color: #080">&lt;0..100, in percent&gt;</span> <span class="label label-warning">(deprecated)</span></div><pre class="text">This keyword has been deprecated in 3.3 and will be removed in 3.5. It is
1086810883
part of the streamlining process apply on QUIC configuration. If used, this
1086910884
setting will only be applied on frontend connections.
10870-
</pre><a class="anchor" name="tune.quic.be.stream.max-concurrent"></a><a class="anchor" name="3-tune.quic.be.stream.max-concurrent"></a><a class="anchor" name="3.2-tune.quic.be.stream.max-concurrent"></a><a class="anchor" name="tune.quic.be.stream.max-concurrent (Global section)"></a><a class="anchor" name="tune.quic.be.stream.max-concurrent (Performance tuning)"></a><div class="keyword"><b><a class="anchor" name="tune.quic.be.stream.max-concurrent"></a><a href="#3.2-tune.quic.be.stream.max-concurrent">tune.quic.be.stream.max-concurrent</a></b> <span style="color: #080">&lt;number&gt;</span></div><a class="anchor" name="tune.quic.fe.stream.max-concurrent"></a><a class="anchor" name="3-tune.quic.fe.stream.max-concurrent"></a><a class="anchor" name="3.2-tune.quic.fe.stream.max-concurrent"></a><a class="anchor" name="tune.quic.fe.stream.max-concurrent (Global section)"></a><a class="anchor" name="tune.quic.fe.stream.max-concurrent (Performance tuning)"></a><div class="keyword"><b><a class="anchor" name="tune.quic.fe.stream.max-concurrent"></a><a href="#3.2-tune.quic.fe.stream.max-concurrent">tune.quic.fe.stream.max-concurrent</a></b> <span style="color: #080">&lt;number&gt;</span></div><pre class="text">Sets the QUIC initial_max_streams_bidi transport parameter either on frontend
10871-
or backend side. This is the maximum number of bidirectional streams that the
10872-
remote peer will be authorized to open concurrently during the connection
10873-
lifetime. On frontend side, this limits the number of concurrent HTTP/3
10874-
client requests.
10885+
</pre><a class="anchor" name="tune.quic.be.stream.max-concurrent"></a><a class="anchor" name="3-tune.quic.be.stream.max-concurrent"></a><a class="anchor" name="3.2-tune.quic.be.stream.max-concurrent"></a><a class="anchor" name="tune.quic.be.stream.max-concurrent (Global section)"></a><a class="anchor" name="tune.quic.be.stream.max-concurrent (Performance tuning)"></a><div class="keyword"><b><a class="anchor" name="tune.quic.be.stream.max-concurrent"></a><a href="#3.2-tune.quic.be.stream.max-concurrent">tune.quic.be.stream.max-concurrent</a></b> <span style="color: #080">&lt;number&gt;</span></div><a class="anchor" name="tune.quic.fe.stream.max-concurrent"></a><a class="anchor" name="3-tune.quic.fe.stream.max-concurrent"></a><a class="anchor" name="3.2-tune.quic.fe.stream.max-concurrent"></a><a class="anchor" name="tune.quic.fe.stream.max-concurrent (Global section)"></a><a class="anchor" name="tune.quic.fe.stream.max-concurrent (Performance tuning)"></a><div class="keyword"><b><a class="anchor" name="tune.quic.fe.stream.max-concurrent"></a><a href="#3.2-tune.quic.fe.stream.max-concurrent">tune.quic.fe.stream.max-concurrent</a></b> <span style="color: #080">&lt;number&gt;</span></div><pre class="text">On frontend side, this is used as the value for the advertised
10886+
initial_max_streams_bidi transport parameter. This is enforced as the maximum
10887+
number of bidirectional streams that the remote peer will be authorized to
10888+
open concurrently during the connection lifetime. This effectively limits the
10889+
number of concurrent HTTP/3 client requests.
1087510890

1087610891
The default value is 100. Note that if you reduces it, it can restrict the
1087710892
buffering capabilities of streams on receive, which would result in poor
1087810893
upload throughput. It can be corrected by increasing the QUIC stream rxbuf
1087910894
connection setting.
10895+
10896+
On backend side, this is enforced locally by haproxy to limit the number of
10897+
concurrent requests multiplexed over a single connection. This may be further
10898+
restricted by the peer flow control. It may be necessary to reduce the
10899+
default value of 100 to improve a site's responsiveness at the expense of a
10900+
higher number of opened backend connections. Similarly to the frontend side,
10901+
this setting also directly impacts the Rx buffering capability, this time
10902+
though limiting the HTTP download capacity. QUIC stream rxbuf setting can be
10903+
increased when dealing mostly with HTTP responses larger than &quot;<a href="#tune.bufsize">tune.bufsize</a>&quot;.
1088010904
</pre><div class="page-header"><b>See also:</b> &quot;<a href="#tune.quic.be.stream.rxbuf">tune.quic.be.stream.rxbuf</a>&quot;, &quot;<a href="#tune.quic.fe.stream.rxbuf">tune.quic.fe.stream.rxbuf</a>&quot;, &quot;<a href="#tune.quic.be.stream.data-ratio">tune.quic.be.stream.data-ratio</a>&quot;, &quot;<a href="#tune.quic.fe.stream.data-ratio">tune.quic.fe.stream.data-ratio</a>&quot;</div>
1088110905
<a class="anchor" name="tune.quic.fe.stream.max-total"></a><a class="anchor" name="3-tune.quic.fe.stream.max-total"></a><a class="anchor" name="3.2-tune.quic.fe.stream.max-total"></a><a class="anchor" name="tune.quic.fe.stream.max-total (Global section)"></a><a class="anchor" name="tune.quic.fe.stream.max-total (Performance tuning)"></a><div class="keyword"><b><a class="anchor" name="tune.quic.fe.stream.max-total"></a><a href="#3.2-tune.quic.fe.stream.max-total">tune.quic.fe.stream.max-total</a></b> <span style="color: #080">&lt;number&gt;</span></div><pre class="text">Sets the maximum number of requests that can be handled by a single QUIC
1088210906
connection. Once this total is reached, the connection will be gracefully
@@ -11198,6 +11222,16 @@ <h2 id="chapter-3.2" data-target="3.2"><small><a class="small" href="#3.2">3.2.<
1119811222
use lower values (120 to 200) to support 1.2 to 2 streams per connection on
1119911223
average at full load.
1120011224

11225+
Contrary to HTTP/2, QUIC is capable to dynamically adjust the number of
11226+
concurrent streams during the connection lifetime. However, QUIC flow control
11227+
is stricter than HTTP/2, thus it is preferable when using it to specify
11228+
values big enough to prevent extra latency on the connection. There is also a
11229+
limitation for QUIC listeners with enabled 0-RTT. In this case, the initial
11230+
value advertised to the peer will ignore stream elasticity and instead rely
11231+
solely on the &quot;<a href="#tune.quic.fe.stream.max-concurrent">tune.quic.fe.stream.max-concurrent</a>&quot; setting. However, the
11232+
stream elasticity principle will still be effective past this initial
11233+
annoucement during the connection lifetime.
11234+
1120111235
Monitoring the total number of active streams on backends, including queues,
1120211236
provides a practical indicator of a sustainable target load and helps avoid
1120311237
over-provisioning.
@@ -35642,8 +35676,8 @@ <h2 id="chapter-12.9" data-target="12.9"><small><a class="small" href="#12.9">12
3564235676
<br>
3564335677
<hr>
3564435678
<div class="text-right">
35645-
HAProxy 3.4-dev12-53 &ndash; Configuration Manual<br>
35646-
<small>, 2026/05/13</small>
35679+
HAProxy 3.4-dev13 &ndash; Configuration Manual<br>
35680+
<small>, 2026/05/20</small>
3564735681
</div>
3564835682
</div>
3564935683
<!-- /.col-lg-12 -->

docs/dev/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.4-dev12-53 - Starter Guide</title>
5+
<title>HAProxy version 3.4-dev13 - 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>2026/05/19</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>2026/05/20</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.4-dev12-53</strong></p>
498+
<p><strong>version 3.4-dev13</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.4-dev12-53 &ndash; Starter Guide<br>
2518+
HAProxy 3.4-dev13 &ndash; Starter Guide<br>
25192519
<small>, </small>
25202520
</div>
25212521
</div>

docs/dev/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.4-dev12-53 - Management Guide</title>
5+
<title>HAProxy version 3.4-dev13 - 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" />
@@ -696,7 +696,7 @@
696696
You can use <strong>left</strong> and <strong>right</strong> arrow keys to navigate between chapters.<br>
697697
</p>
698698
<p class="text-right">
699-
<small>Converted with <a href="https://github.com/cbonte/haproxy-dconv">haproxy-dconv</a> v<b>0.4.2-15</b> on <b>2026/05/19</b></small>
699+
<small>Converted with <a href="https://github.com/cbonte/haproxy-dconv">haproxy-dconv</a> v<b>0.4.2-15</b> on <b>2026/05/20</b></small>
700700
</p>
701701
</div>
702702
<!-- /.sidebar -->
@@ -707,7 +707,7 @@
707707
<div class="text-center">
708708
<h1><a href="http://www.haproxy.org/" title="HAProxy"><img src="../img/HAProxyCommunityEdition_60px.png?0.4.2-15" /></a></h1>
709709
<h2>Management Guide</h2>
710-
<p><strong>version 3.4-dev12-53</strong></p>
710+
<p><strong>version 3.4-dev13</strong></p>
711711
<p>
712712
<br>
713713

@@ -5856,7 +5856,7 @@ <h2 id="chapter-13.1" data-target="13.1"><small><a class="small" href="#13.1">13
58565856
<br>
58575857
<hr>
58585858
<div class="text-right">
5859-
HAProxy 3.4-dev12-53 &ndash; Management Guide<br>
5859+
HAProxy 3.4-dev13 &ndash; Management Guide<br>
58605860
<small>, </small>
58615861
</div>
58625862
</div>

0 commit comments

Comments
 (0)