Skip to content

Commit 2b67fb9

Browse files
author
HAProxy Community
committed
Update docs for dev
1 parent 58349c2 commit 2b67fb9

File tree

3 files changed

+63
-34
lines changed

3 files changed

+63
-34
lines changed

docs/dev/configuration.html

Lines changed: 50 additions & 26 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-dev11-14 - Configuration Manual</title>
5+
<title>HAProxy version 3.2-dev11-40 - 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" />
@@ -1345,7 +1345,7 @@
13451345

13461346
<a class="list-group-item" href="#accepted_payload_size">accepted_payload_size</a>
13471347

1348-
<a class="list-group-item" href="#account">account</a>
1348+
<a class="list-group-item" href="#account-key">account-key</a>
13491349

13501350
<a class="list-group-item" href="#acl (Fcgi-app section)">acl (Fcgi-app section)</a>
13511351

@@ -1766,6 +1766,8 @@
17661766

17671767
<a class="list-group-item" href="#digest">digest</a>
17681768

1769+
<a class="list-group-item" href="#directory">directory</a>
1770+
17691771
<a class="list-group-item" href="#disable-l7-retry">disable-l7-retry</a>
17701772

17711773
<a class="list-group-item" href="#disabled (Peers)">disabled (Peers)</a>
@@ -1784,6 +1786,8 @@
17841786

17851787
<a class="list-group-item" href="#djb2">djb2</a>
17861788

1789+
<a class="list-group-item" href="#dns-accept-family">dns-accept-family</a>
1790+
17871791
<a class="list-group-item" href="#do-log">do-log</a>
17881792

17891793
<a class="list-group-item" href="#do-resolve">do-resolve</a>
@@ -4421,8 +4425,6 @@
44214425

44224426
<a class="list-group-item" href="#uptime">uptime</a>
44234427

4424-
<a class="list-group-item" href="#uri">uri</a>
4425-
44264428
<a class="list-group-item" href="#url">url</a>
44274429

44284430
<a class="list-group-item" href="#url32">url32</a>
@@ -4549,7 +4551,7 @@
45494551
You can use <strong>left</strong> and <strong>right</strong> arrow keys to navigate between chapters.<br>
45504552
</p>
45514553
<p class="text-right">
4552-
<small>Converted with <a href="https://github.com/cbonte/haproxy-dconv">haproxy-dconv</a> v<b>0.4.2-15</b> on <b>2025/04/22</b></small>
4554+
<small>Converted with <a href="https://github.com/cbonte/haproxy-dconv">haproxy-dconv</a> v<b>0.4.2-15</b> on <b>2025/04/24</b></small>
45534555
</p>
45544556
</div>
45554557
<!-- /.sidebar -->
@@ -4560,7 +4562,7 @@
45604562
<div class="text-center">
45614563
<h1><a href="http://www.haproxy.org/" title="HAProxy"><img src="../img/HAProxyCommunityEdition_60px.png?0.4.2-15" /></a></h1>
45624564
<h2>Configuration Manual</h2>
4563-
<p><strong>version 3.2-dev11-14</strong></p>
4565+
<p><strong>version 3.2-dev11-40</strong></p>
45644566
<p>
45654567
2025/04/18<br>
45664568

@@ -7186,6 +7188,7 @@ <h2 id="chapter-2.9" data-target="2.9"><small><a class="small" href="#2.9">2.9.<
71867188
- <a href="#deviceatlas-log-level">deviceatlas-log-level</a>
71877189
- <a href="#deviceatlas-properties-cookie">deviceatlas-properties-cookie</a>
71887190
- <a href="#deviceatlas-separator">deviceatlas-separator</a>
7191+
- <a href="#dns-accept-family">dns-accept-family</a>
71897192
- <a href="#expose-deprecated-directives">expose-deprecated-directives</a>
71907193
- <a href="#expose-experimental-directives">expose-experimental-directives</a>
71917194
- <a href="#external-check">external-check</a>
@@ -7767,7 +7770,25 @@ <h2 id="chapter-3.1" data-target="3.1"><small><a class="small" href="#3.1">3.1.<
77677770
and set to DAPROPS by default if not set.
77687771
</pre><a class="anchor" name="deviceatlas-separator"></a><a class="anchor" name="3-deviceatlas-separator"></a><a class="anchor" name="3.1-deviceatlas-separator"></a><a class="anchor" name="deviceatlas-separator (Global parameters)"></a><a class="anchor" name="deviceatlas-separator (Process management and security)"></a><div class="keyword"><b><a class="anchor" name="deviceatlas-separator"></a><a href="#3.1-deviceatlas-separator">deviceatlas-separator</a></b> <span style="color: #080">&lt;char&gt;</span></div><pre class="text">Sets the character separator for the API properties results. This directive
77697772
is optional and set to | by default if not set.
7770-
</pre><a class="anchor" name="expose-deprecated-directives"></a><a class="anchor" name="3-expose-deprecated-directives"></a><a class="anchor" name="3.1-expose-deprecated-directives"></a><a class="anchor" name="expose-deprecated-directives (Global parameters)"></a><a class="anchor" name="expose-deprecated-directives (Process management and security)"></a><div class="keyword"><b><a class="anchor" name="expose-deprecated-directives"></a><a href="#3.1-expose-deprecated-directives">expose-deprecated-directives</a></b></div><pre class="text">This statement must appear before using some directives tagged as deprecated
7773+
</pre><a class="anchor" name="dns-accept-family"></a><a class="anchor" name="3-dns-accept-family"></a><a class="anchor" name="3.1-dns-accept-family"></a><a class="anchor" name="dns-accept-family (Global parameters)"></a><a class="anchor" name="dns-accept-family (Process management and security)"></a><div class="keyword"><b><a class="anchor" name="dns-accept-family"></a><a href="#3.1-dns-accept-family">dns-accept-family</a></b> <span style="color: #080">&lt;family&gt;</span><span style="color: #008">[,...]</span></div><pre class="text">By default, DNS resolvers accept both IPv4 and IPv6 addresses. This can be
7774+
influenced by the &quot;<a href="#resolve-prefer">resolve-prefer</a>&quot; keywords on server lines as well as the
7775+
family argument to the &quot;<a href="#do-resolve">do-resolve</a>&quot; action, but that is only a preference,
7776+
which does not block the other family from being used when it's alone. In
7777+
some environments where dual-stack is not usable, stumbling on an unreachable
7778+
IPv6-only DNS record can cause significant trouble as it will replace a
7779+
previous IPv4 one which would possibly have continued to work till next
7780+
request. The &quot;<a href="#dns-accept-family">dns-accept-family</a>&quot; global option permits to enforce usage of
7781+
only one (or both) address families. The argument is a comma-delimited list
7782+
of the following words:
7783+
- &quot;<a href="#ipv4">ipv4</a>&quot;: query and accept IPv4 addresses (&quot;A&quot; records)
7784+
- &quot;<a href="#ipv6">ipv6</a>&quot;: query and accept IPv6 addresses (&quot;AAAA&quot; records)
7785+
- &quot;auto&quot;: use IPv4, and IPv6 if the system has a default gateway for it.
7786+
7787+
When a single family is used, no request will be sent to resolvers for the
7788+
other family, and any response for the othe family will be ignored. The
7789+
default value is &quot;ipv4,ipv6&quot;, which effectively enables both families.
7790+
</pre><div class="page-header"><b>See also:</b> &quot;<a href="#resolve-prefer">resolve-prefer</a>&quot;, &quot;<a href="#do-resolve">do-resolve</a>&quot;</div>
7791+
<a class="anchor" name="expose-deprecated-directives"></a><a class="anchor" name="3-expose-deprecated-directives"></a><a class="anchor" name="3.1-expose-deprecated-directives"></a><a class="anchor" name="expose-deprecated-directives (Global parameters)"></a><a class="anchor" name="expose-deprecated-directives (Process management and security)"></a><div class="keyword"><b><a class="anchor" name="expose-deprecated-directives"></a><a href="#3.1-expose-deprecated-directives">expose-deprecated-directives</a></b></div><pre class="text">This statement must appear before using some directives tagged as deprecated
77717792
to silent warnings and make sure the config file will not be rejected. Not
77727793
all deprecated directives are concerned, only those without any alternative
77737794
solution.
@@ -10899,7 +10920,7 @@ <h2 id="chapter-3.13" data-target="3.13"><small><a class="small" href="#3.13">3.
1089910920
&quot;acme renew&quot;.
1090010921

1090110922
The following keywords are usable in the ACME section:
10902-
</pre><a class="anchor" name="account"></a><a class="anchor" name="3-account"></a><a class="anchor" name="3.13-account"></a><a class="anchor" name="account (Global parameters)"></a><a class="anchor" name="account (ACME)"></a><div class="keyword"><b><a class="anchor" name="account"></a><a href="#3.13-account">account</a></b> <span style="color: #080">&lt;filename&gt;</span></div><pre class="text">Configure the path to the account key. The key need to be generated before
10923+
</pre><a class="anchor" name="account-key"></a><a class="anchor" name="3-account-key"></a><a class="anchor" name="3.13-account-key"></a><a class="anchor" name="account-key (Global parameters)"></a><a class="anchor" name="account-key (ACME)"></a><div class="keyword"><b><a class="anchor" name="account-key"></a><a href="#3.13-account-key">account-key</a></b> <span style="color: #080">&lt;filename&gt;</span></div><pre class="text">Configure the path to the account key. The key need to be generated before
1090310924
launching HAProxy. If no account keyword is used, the acme section will try
1090410925
to load a filename using the section name &quot;&lt;name&gt;.account.key&quot;
1090510926

@@ -10918,17 +10939,17 @@ <h2 id="chapter-3.13" data-target="3.13"><small><a class="small" href="#3.13">3.
1091810939
used the default is HTTP-01.
1091910940
</pre><a class="anchor" name="contact"></a><a class="anchor" name="3-contact"></a><a class="anchor" name="3.13-contact"></a><a class="anchor" name="contact (Global parameters)"></a><a class="anchor" name="contact (ACME)"></a><div class="keyword"><b><a class="anchor" name="contact"></a><a href="#3.13-contact">contact</a></b> <span style="color: #080">&lt;string&gt;</span></div><pre class="text">The contact email that will be associated to the account key in the CA.
1092010941
</pre><a class="anchor" name="curves"></a><a class="anchor" name="3-curves"></a><a class="anchor" name="3.13-curves"></a><a class="anchor" name="curves (Global parameters)"></a><a class="anchor" name="curves (ACME)"></a><div class="keyword"><b><a class="anchor" name="curves"></a><a href="#3.13-curves">curves</a></b> <span style="color: #080">&lt;string&gt;</span></div><pre class="text">When using the ECDSA keytype, configure the curves. The default is P-384.
10921-
</pre><a class="anchor" name="keytype"></a><a class="anchor" name="3-keytype"></a><a class="anchor" name="3.13-keytype"></a><a class="anchor" name="keytype (Global parameters)"></a><a class="anchor" name="keytype (ACME)"></a><div class="keyword"><b><a class="anchor" name="keytype"></a><a href="#3.13-keytype">keytype</a></b> <span style="color: #080">&lt;string&gt;</span></div><pre class="text">Configure the type of key that will be generated. Value can be either &quot;RSA&quot;
10922-
or &quot;ECDSA&quot;. You can also configure the &quot;<span class="dropdown"><a class="dropdown-toggle" data-toggle="dropdown" href="#">curves<span class="caret"></span></a><ul class="dropdown-menu"><li class="dropdown-header">This keyword is available in sections :</li><li><a href="#curves%20%28ACME%29">ACME</a></li><li><a href="#curves%20%28Bind%20options%29">Bind options</a></li><li><a href="#curves%20%28Server%20and%20default-server%20options%29">Server and default-server options</a></li></ul></span>&quot; for ECDSA and the number of
10923-
&quot;<a href="#bits">bits</a>&quot; for RSA. By default EC384 keys are generated.
10924-
</pre><a class="anchor" name="uri"></a><a class="anchor" name="3-uri"></a><a class="anchor" name="3.13-uri"></a><a class="anchor" name="uri (Global parameters)"></a><a class="anchor" name="uri (ACME)"></a><div class="keyword"><b><a class="anchor" name="uri"></a><a href="#3.13-uri">uri</a></b> <span style="color: #080">&lt;string&gt;</span></div><pre class="text">This keyword configures the directory URL for the CA used by this acme
10925-
section. This keyword is mandatory as there is no default uri.
10942+
</pre><a class="anchor" name="directory"></a><a class="anchor" name="3-directory"></a><a class="anchor" name="3.13-directory"></a><a class="anchor" name="directory (Global parameters)"></a><a class="anchor" name="directory (ACME)"></a><div class="keyword"><b><a class="anchor" name="directory"></a><a href="#3.13-directory">directory</a></b> <span style="color: #080">&lt;string&gt;</span></div><pre class="text">This keyword configures the directory URL for the CA used by this acme
10943+
section. This keyword is mandatory as there is no default URL.
1092610944
</pre><div class="separator">
1092710945
<span class="label label-success">Example:</span>
1092810946
<pre class="prettyprint">
10929-
<code>uri https://acme-staging-v02.api.letsencrypt.org/directory
10947+
<code>directory https://acme-staging-v02.api.letsencrypt.org/directory
1093010948
</code></pre>
10931-
</div><div class="separator">
10949+
</div><a class="anchor" name="keytype"></a><a class="anchor" name="3-keytype"></a><a class="anchor" name="3.13-keytype"></a><a class="anchor" name="keytype (Global parameters)"></a><a class="anchor" name="keytype (ACME)"></a><div class="keyword"><b><a class="anchor" name="keytype"></a><a href="#3.13-keytype">keytype</a></b> <span style="color: #080">&lt;string&gt;</span></div><pre class="text">Configure the type of key that will be generated. Value can be either &quot;RSA&quot;
10950+
or &quot;ECDSA&quot;. You can also configure the &quot;<span class="dropdown"><a class="dropdown-toggle" data-toggle="dropdown" href="#">curves<span class="caret"></span></a><ul class="dropdown-menu"><li class="dropdown-header">This keyword is available in sections :</li><li><a href="#curves%20%28ACME%29">ACME</a></li><li><a href="#curves%20%28Bind%20options%29">Bind options</a></li><li><a href="#curves%20%28Server%20and%20default-server%20options%29">Server and default-server options</a></li></ul></span>&quot; for ECDSA and the number of
10951+
&quot;<a href="#bits">bits</a>&quot; for RSA. By default EC384 keys are generated.
10952+
</pre><div class="separator">
1093210953
<span class="label label-success">Example:</span>
1093310954
<pre class="prettyprint">
1093410955
<code>global
@@ -10943,16 +10964,16 @@ <h2 id="chapter-3.13" data-target="3.13"><small><a class="small" href="#3.13">3.
1094310964
ssl-f-use crt &quot;foo.example.com.pem.ecdsa&quot; acme LE2 domains &quot;foo.example.com.pem,bar.example.com&quot;
1094410965

1094510966
acme LE1
10946-
uri https://acme-staging-v02.api.letsencrypt.org/directory
10947-
account /etc/haproxy/account.key
10967+
directory https://acme-staging-v02.api.letsencrypt.org/directory
10968+
account-key /etc/haproxy/letsencrypt.account.key
1094810969
1094910970
challenge HTTP-01
1095010971
keytype RSA
1095110972
bits 2048
1095210973

1095310974
acme LE2
10954-
uri https://acme-staging-v02.api.letsencrypt.org/directory
10955-
account /etc/haproxy/account.key
10975+
directory https://acme-staging-v02.api.letsencrypt.org/directory
10976+
account-key /etc/haproxy/letsencrypt.account.key
1095610977
1095710978
challenge HTTP-01
1095810979
keytype ECDSA
@@ -11445,7 +11466,7 @@ <h2 id="chapter-4.2" data-target="4.2"><small><a class="small" href="#4.2">4.2.<
1144511466
configured hash-type. The result of the hash is divided by
1144611467
the total weight of the running servers to designate which
1144711468
server will receive the request. This can be used in place of
11448-
&quot;<span class="dropdown"><a class="dropdown-toggle" data-toggle="dropdown" href="#">source<span class="caret"></span></a><ul class="dropdown-menu"><li class="dropdown-header">This keyword is available in sections :</li><li><a href="#source%20%28Alphabetically%20sorted%20keywords%20reference%29">Alphabetically sorted keywords reference</a></li><li><a href="#source%20%28Server%20and%20default-server%20options%29">Server and default-server options</a></li></ul></span>&quot;, &quot;<a href="#uri">uri</a>&quot;, &quot;hdr()&quot;, &quot;url_param()&quot;, &quot;rdp-cookie&quot; to make
11469+
&quot;<span class="dropdown"><a class="dropdown-toggle" data-toggle="dropdown" href="#">source<span class="caret"></span></a><ul class="dropdown-menu"><li class="dropdown-header">This keyword is available in sections :</li><li><a href="#source%20%28Alphabetically%20sorted%20keywords%20reference%29">Alphabetically sorted keywords reference</a></li><li><a href="#source%20%28Server%20and%20default-server%20options%29">Server and default-server options</a></li></ul></span>&quot;, &quot;uri&quot;, &quot;hdr()&quot;, &quot;url_param()&quot;, &quot;rdp-cookie&quot; to make
1144911470
use of a converter, refine the evaluation, or be used to
1145011471
extract data from local variables for example. When the data
1145111472
is not available, round robin will apply. This algorithm is
@@ -11623,7 +11644,7 @@ <h2 id="chapter-4.2" data-target="4.2"><small><a class="small" href="#4.2">4.2.<
1162311644
sticky server doesn't change until it becomes DOWN.
1162411645

1162511646
&lt;arguments&gt; is an optional list of arguments which may be needed by some
11626-
algorithms. Right now, only &quot;<a href="#url_param">url_param</a>&quot;, &quot;<a href="#uri">uri</a>&quot; and &quot;log-hash&quot;
11647+
algorithms. Right now, only &quot;<a href="#url_param">url_param</a>&quot;, &quot;uri&quot; and &quot;log-hash&quot;
1162711648
support an optional argument.</pre>
1162811649
</div>
1162911650
<pre class="text">The load balancing algorithm of a backend is set to roundrobin when no other
@@ -20211,7 +20232,9 @@ <h2 id="chapter-4.4" data-target="4.4"><small><a class="small" href="#4.4">4.4.<
2021120232
the result in the variable &lt;var&gt;. It uses the DNS resolvers section
2021220233
pointed by &lt;resolvers&gt;.
2021320234
It is possible to choose a resolution preference using the optional
20214-
arguments 'ipv4' or 'ipv6'.
20235+
arguments 'ipv4' or 'ipv6'. See also the global &quot;<a href="#dns-accept-family">dns-accept-family</a>&quot; keyword
20236+
to enforce strict usage of a specific family.
20237+
2021520238
When performing the DNS resolution, the client side connection is on
2021620239
pause waiting till the end of the resolution.
2021720240
If an IP address can be found, it is stored into &lt;var&gt;. If any kind of
@@ -23334,8 +23357,9 @@ <h2 id="chapter-5.2" data-target="5.2"><small><a class="small" href="#5.2">5.2.<
2333423357

2333523358
When DNS resolution is enabled for a server and multiple IP addresses from
2333623359
different families are returned, HAProxy will prefer using an IP address
23337-
from the family mentioned in the &quot;<a href="#resolve-prefer">resolve-prefer</a>&quot; parameter.
23338-
Available families: &quot;<a href="#ipv4">ipv4</a>&quot; and &quot;<a href="#ipv6">ipv6</a>&quot;
23360+
from the family mentioned in the &quot;<a href="#resolve-prefer">resolve-prefer</a>&quot; parameter. See also the
23361+
global &quot;<a href="#dns-accept-family">dns-accept-family</a>&quot; keyword to enforce strict usage of a specific
23362+
family. Available families: &quot;<a href="#ipv4">ipv4</a>&quot; and &quot;<a href="#ipv6">ipv6</a>&quot;.
2333923363

2334023364
Default value: ipv6
2334123365
</pre><div class="separator">
@@ -29143,7 +29167,7 @@ <h3 id="chapter-7.3.6" data-target="7.3.6"><small><a class="small" href="#7.3.6"
2914329167
stick table also allows one to collect statistics about most commonly
2914429168
requested objects by host/path. With ACLs it can allow simple content
2914529169
switching rules involving the host and the path at the same time, such as
29146-
&quot;www.example.com/favicon.ico&quot;. See also &quot;<a href="#path">path</a>&quot; and &quot;<a href="#uri">uri</a>&quot;.
29170+
&quot;www.example.com/favicon.ico&quot;. See also &quot;<a href="#path">path</a>&quot; and &quot;uri&quot;.
2914729171

2914829172
ACL derivatives :
2914929173
base : exact string match
@@ -32587,7 +32611,7 @@ <h2 id="chapter-11.3" data-target="11.3"><small><a class="small" href="#11.3">11
3258732611
<br>
3258832612
<hr>
3258932613
<div class="text-right">
32590-
HAProxy 3.2-dev11-14 &ndash; Configuration Manual<br>
32614+
HAProxy 3.2-dev11-40 &ndash; Configuration Manual<br>
3259132615
<small>, 2025/04/18</small>
3259232616
</div>
3259332617
</div>

0 commit comments

Comments
 (0)