Skip to content

Commit 214a813

Browse files
author
HAProxy Community
committed
Update docs for dev
1 parent 7d8af3f commit 214a813

File tree

3 files changed

+49
-22
lines changed

3 files changed

+49
-22
lines changed

docs/dev/configuration.html

Lines changed: 41 additions & 14 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.3-dev13-23 - Configuration Manual</title>
5+
<title>HAProxy version 3.3-dev13-44 - 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" />
@@ -4699,7 +4699,7 @@
46994699
You can use <strong>left</strong> and <strong>right</strong> arrow keys to navigate between chapters.<br>
47004700
</p>
47014701
<p class="text-right">
4702-
<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>
4702+
<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/20</b></small>
47034703
</p>
47044704
</div>
47054705
<!-- /.sidebar -->
@@ -4710,7 +4710,7 @@
47104710
<div class="text-center">
47114711
<h1><a href="http://www.haproxy.org/" title="HAProxy"><img src="../img/HAProxyCommunityEdition_60px.png?0.4.2-15" /></a></h1>
47124712
<h2>Configuration Manual</h2>
4713-
<p><strong>version 3.3-dev13-23</strong></p>
4713+
<p><strong>version 3.3-dev13-44</strong></p>
47144714
<p>
47154715
2025/11/14<br>
47164716

@@ -6404,6 +6404,8 @@ <h3 id="chapter-1.4.1" data-target="1.4.1"><small><a class="small" href="#1.4.1"
64046404
408 when the request timeout strikes before the request is complete
64056405
410 when the requested resource is no longer available and will not
64066406
be available again
6407+
413 when a HTTP/1.0 GET/HEAD/DELETE requests has a payload, also see
6408+
the &quot;<a href="#h1-accept-payload-with-any-method">h1-accept-payload-with-any-method</a>&quot; option
64076409
500 when HAProxy encounters an unrecoverable internal error, such as a
64086410
memory allocation failure, which should never happen
64096411
501 when HAProxy is unable to satisfy a client request because of an
@@ -8373,7 +8375,8 @@ <h2 id="chapter-3.1" data-target="3.1"><small><a class="small" href="#3.1">3.1.<
83738375
</div><div class="page-header"><b>See also:</b> hard-stop-after, monitor</div>
83748376
<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.
83758377
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%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;.
8376-
</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.
8378+
</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
8379+
413 Payload Too Large HTTP response.
83778380

83788381
While It is explicitly allowed in HTTP/1.1, HTTP/1.0 is not clear on this
83798382
point and some old servers don't expect any payload and never look for body
@@ -21650,14 +21653,19 @@ <h2 id="chapter-5.1" data-target="5.1"><small><a class="small" href="#5.1">5.1.<
2165021653
Here are the protocols that may be used as argument to a &quot;<span class="dropdown"><a class="dropdown-toggle" data-toggle="dropdown" href="#">proto<span class="caret"></span></a><ul class="dropdown-menu"><li class="dropdown-header">This keyword is available in sections :</li><li><a href="#proto%20%28Bind%20options%29">Bind options</a></li><li><a href="#proto%20%28Server%20and%20default-server%20options%29">Server and default-server options</a></li></ul></span>&quot; directive on
2165121654
a bind line :
2165221655

21656+
quic : mode=HTTP side=FE|BE mux=QUIC flags=HTX|NO_UPG|FRAMED
2165321657
h2 : mode=HTTP side=FE|BE mux=H2 flags=HTX|HOL_RISK|NO_UPG
2165421658
h1 : mode=HTTP side=FE|BE mux=H1 flags=HTX|NO_UPG
2165521659
none : mode=TCP side=FE|BE mux=PASS flags=NO_UPG
2165621660

2165721661
Idea behind this option is to bypass the selection of the best multiplexer's
2165821662
protocol for all connections instantiated from this listening socket. For
21659-
instance, it is possible to force the http/2 on clear TCP by specifying &quot;proto
21660-
h2&quot; on the bind line.
21663+
instance, it is possible to force the http/2 on clear TCP by specifying
21664+
&quot;proto h2&quot; on the bind line.
21665+
21666+
If the ALPN or the NPN settings are configured, the specified protocols
21667+
should be compatible with the multiplexer's protocol to avoid any issue. For
21668+
instance, if &quot;proto h1&quot; is set, the ALPN should not be set to &quot;h2&quot;.
2166121669
</pre><a class="anchor" name="quic-cc-algo"></a><a class="anchor" name="5-quic-cc-algo"></a><a class="anchor" name="5.1-quic-cc-algo"></a><a class="anchor" name="quic-cc-algo (Bind and server options)"></a><a class="anchor" name="quic-cc-algo (Bind options)"></a><div class="keyword"><b><a class="anchor" name="quic-cc-algo"></a><a href="#5.1-quic-cc-algo">quic-cc-algo</a></b> <span style="color: #800">{ cubic | newreno | bbr | nocc }</span><span style="color: #008">[(<span style="color: #080">&lt;args,...&gt;</span>)]</span></div><pre class="text">This is a QUIC specific setting to select the congestion control algorithm
2166221670
for any connection attempts to the configured QUIC listeners. They are
2166321671
similar to those used by TCP.
@@ -22236,11 +22244,16 @@ <h2 id="chapter-5.2" data-target="5.2"><small><a class="small" href="#5.2">5.2.<
2223622244
h1 : mode=HTTP side=FE|BE mux=H1 flags=HTX|NO_UPG
2223722245
none : mode=TCP side=FE|BE mux=PASS flags=NO_UPG
2223822246
quic : mode=HTTP side=FE|BE mux=QUIC flags=HTX|NO_UPG|FRAMED
22247+
spop : mode=SPOP side=BE mux=SPOP flags=HOL_RISK|NO_UPG
2223922248

2224022249
Idea behind this option is to bypass the selection of the best multiplexer's
2224122250
protocol for health-check connections established to this server.
2224222251
If not defined, the server one will be used, if set.
2224322252

22253+
If the ALPN or the NPN settings are configured, the specified protocols
22254+
should be compatible with the multiplexer's protocol to avoid any issue. For
22255+
instance, if &quot;proto h1&quot; is set, the ALPN should not be set to &quot;h2&quot;.
22256+
2224422257
QUIC check configuration is not fully implemented yet. First, QUIC checks may
2224522258
only be performed for QUIC servers. Second, if one or more check specific
2224622259
connection parameters is specified on a QUIC server, check protocol will
@@ -22960,10 +22973,15 @@ <h2 id="chapter-5.2" data-target="5.2"><small><a class="small" href="#5.2">5.2.<
2296022973
fcgi : mode=HTTP side=BE mux=FCGI flags=HTX|HOL_RISK|NO_UPG
2296122974
h1 : mode=HTTP side=FE|BE mux=H1 flags=HTX|NO_UPG
2296222975
none : mode=TCP side=FE|BE mux=PASS flags=NO_UPG
22976+
spop : mode=SPOP side=BE mux=SPOP flags=HOL_RISK|NO_UPG
2296322977

2296422978
Idea behind this option is to bypass the selection of the best multiplexer's
2296522979
protocol for all connections established to this server.
2296622980

22981+
If the ALPN or the NPN settings are configured, the specified protocols
22982+
should be compatible with the multiplexer's protocol to avoid any issue. For
22983+
instance, if &quot;proto h1&quot; is set, the ALPN should not be set to &quot;h2&quot;.
22984+
2296722985
See also &quot;<a href="#ws">ws</a>&quot; to use an alternative protocol for websocket streams.
2296822986
</pre><a class="anchor" name="redir"></a><a class="anchor" name="5-redir"></a><a class="anchor" name="5.2-redir"></a><a class="anchor" name="redir (Bind and server options)"></a><a class="anchor" name="redir (Server and default-server options)"></a><div class="keyword"><b><a class="anchor" name="redir"></a><a href="#5.2-redir">redir</a></b> <span style="color: #080">&lt;prefix&gt;</span></div><pre class="text">May be used in the following contexts: http
2296922987

@@ -33685,13 +33703,22 @@ <h2 id="chapter-12.8" data-target="12.8"><small><a class="small" href="#12.8">12
3368533703
is experimental meaning that &quot;<a href="#expose-experimental-directives">expose-experimental-directives</a>&quot; must be in the
3368633704
global section so this can be used.
3368733705

33688-
Current limitations as of 3.2: The feature is limited to the HTTP-01 challenge
33689-
for now. The current HAProxy architecture is a non-blocking model, access to
33690-
the disk is not supposed to be done after the configuration is loaded, because
33691-
it could block the event loop, blocking the traffic on the same thread. Meaning
33692-
that the certificates and keys generated from HAProxy will need to be dumped
33693-
from outside HAProxy using &quot;dump ssl cert&quot; on the stats socket.
33694-
External Account Binding (EAB) is not supported.
33706+
Current limitations as of 3.3:
33707+
- The feature is limited to the HTTP-01 or DNS-01 challenges for now. HTTP-01
33708+
is completely handled by HAProxy, but DNS-01 needs either the dataplaneAPI or
33709+
another 3rd party tool to talk to a DNS provider API.
33710+
- It is possible to start without an existing certificate on the disk. To do
33711+
so, the certificate must configured in a crt-store.
33712+
When using the &quot;<span class="dropdown"><a class="dropdown-toggle" data-toggle="dropdown" href="#">acme<span class="caret"></span></a><ul class="dropdown-menu"><li class="dropdown-header">This keyword is available in sections :</li><li><a href="#acme%20%28Load%20options%29">Load options</a></li><li><a href="#acme%20%28ACME%29">ACME</a></li></ul></span>&quot; keyword in a crt-store, a temporary key pair will be
33713+
used until the ACME certificate is generated.
33714+
- The current HAProxy architecture is a non-blocking model, access to the disk
33715+
is not supposed to be done after the configuration is loaded, because it
33716+
could block the event loop, blocking the traffic on the same thread. Meaning
33717+
that the certificates and keys generated from HAProxy will need to be dumped
33718+
from outside HAProxy using &quot;dump ssl cert&quot; on the stats socket. It's possible
33719+
to automate the dump of the certificates by using the dataplaneAPI or the
33720+
haproxy-dump-certs script provided in the admin/cli/ directory.
33721+
- External Account Binding (EAB) is not supported.
3369533722

3369633723
The ACME scheduler starts at HAProxy startup, it will loop over the
3369733724
certificates and start an ACME renewal task when the notAfter task is past
@@ -33785,7 +33812,7 @@ <h2 id="chapter-12.8" data-target="12.8"><small><a class="small" href="#12.8">12
3378533812
<br>
3378633813
<hr>
3378733814
<div class="text-right">
33788-
HAProxy 3.3-dev13-23 &ndash; Configuration Manual<br>
33815+
HAProxy 3.3-dev13-44 &ndash; Configuration Manual<br>
3378933816
<small>, 2025/11/14</small>
3379033817
</div>
3379133818
</div>

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.3-dev13-23 - Starter Guide</title>
5+
<title>HAProxy version 3.3-dev13-44 - 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/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.3-dev13-23</strong></p>
498+
<p><strong>version 3.3-dev13-44</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.3-dev13-23 &ndash; Starter Guide<br>
2518+
HAProxy 3.3-dev13-44 &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.3-dev13-23 - Management Guide</title>
5+
<title>HAProxy version 3.3-dev13-44 - 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" />
@@ -680,7 +680,7 @@
680680
You can use <strong>left</strong> and <strong>right</strong> arrow keys to navigate between chapters.<br>
681681
</p>
682682
<p class="text-right">
683-
<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>
683+
<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/20</b></small>
684684
</p>
685685
</div>
686686
<!-- /.sidebar -->
@@ -691,7 +691,7 @@
691691
<div class="text-center">
692692
<h1><a href="http://www.haproxy.org/" title="HAProxy"><img src="../img/HAProxyCommunityEdition_60px.png?0.4.2-15" /></a></h1>
693693
<h2>Management Guide</h2>
694-
<p><strong>version 3.3-dev13-23</strong></p>
694+
<p><strong>version 3.3-dev13-44</strong></p>
695695
<p>
696696
<br>
697697

@@ -5768,7 +5768,7 @@ <h2 id="chapter-13.1" data-target="13.1"><small><a class="small" href="#13.1">13
57685768
<br>
57695769
<hr>
57705770
<div class="text-right">
5771-
HAProxy 3.3-dev13-23 &ndash; Management Guide<br>
5771+
HAProxy 3.3-dev13-44 &ndash; Management Guide<br>
57725772
<small>, </small>
57735773
</div>
57745774
</div>

0 commit comments

Comments
 (0)