Skip to content

Commit b49f3b7

Browse files
author
HAProxy Community
committed
Update docs for 2.2
1 parent 738dc7b commit b49f3b7

File tree

3 files changed

+59
-24
lines changed

3 files changed

+59
-24
lines changed

docs/2.2/configuration.html

Lines changed: 51 additions & 16 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 2.2.33-40 - Configuration Manual</title>
5+
<title>HAProxy version 2.2.33-77 - 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" />
@@ -3497,7 +3497,7 @@
34973497
You can use <strong>left</strong> and <strong>right</strong> arrow keys to navigate between chapters.<br>
34983498
</p>
34993499
<p class="text-right">
3500-
<small>Converted with <a href="https://github.com/cbonte/haproxy-dconv">haproxy-dconv</a> v<b>0.4.2-15</b> on <b>2024/07/03</b></small>
3500+
<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>
35013501
</p>
35023502
</div>
35033503
<!-- /.sidebar -->
@@ -3508,7 +3508,7 @@
35083508
<div class="text-center">
35093509
<h1><a href="http://www.haproxy.org/" title="HAProxy"><img src="../img/HAProxyCommunityEdition_60px.png?0.4.2-15" /></a></h1>
35103510
<h2>Configuration Manual</h2>
3511-
<p><strong>version 2.2.33-40</strong></p>
3511+
<p><strong>version 2.2.33-77</strong></p>
35123512
<p>
35133513
2024/04/05<br>
35143514

@@ -12289,7 +12289,8 @@ <h2 id="chapter-4.2" data-target="4.2"><small><a class="small" href="#4.2">4.2.<
1228912289
third retry. You can disable redispatches with a value of 0.</pre>
1229012290
</div>
1229112291
<pre class="text">In HTTP mode, if a server designated by a cookie is down, clients may
12292-
definitely stick to it because they cannot flush the cookie, so they will not
12292+
definitely stick to it, for example when using &quot;<a href="#option%20persist">option persist</a>&quot; or
12293+
&quot;<a href="#force-persist">force-persist</a>&quot;, because they cannot flush the cookie, so they will not
1229312294
be able to access the service anymore.
1229412295

1229512296
Specifying &quot;<a href="#option%20redispatch">option redispatch</a>&quot; will allow the proxy to break cookie or
@@ -12321,7 +12322,7 @@ <h2 id="chapter-4.2" data-target="4.2"><small><a class="small" href="#4.2">4.2.<
1232112322

1232212323
If this option has been enabled in a &quot;defaults&quot; section, it can be disabled
1232312324
in a specific instance by prepending the &quot;no&quot; keyword before it.
12324-
</pre><div class="page-header"><b>See also :</b> &quot;<a href="#retries">retries</a>&quot;, &quot;<a href="#force-persist">force-persist</a>&quot;</div>
12325+
</pre><div class="page-header"><b>See also :</b> &quot;<a href="#option%20persist">option persist</a>&quot;, &quot;<a href="#force-persist">force-persist</a>&quot;, &quot;<a href="#retries">retries</a>&quot;</div>
1232512326
<a class="anchor" name="option"></a><a class="anchor" name="4-option"></a><a class="anchor" name="4.2-option"></a><a class="anchor" name="option (Proxies)"></a><a class="anchor" name="option (Alphabetically sorted keywords reference)"></a><a class="anchor" name="option redis-check"></a><a class="anchor" name="4-option redis-check"></a><a class="anchor" name="4.2-option redis-check"></a><a class="anchor" name="option redis-check (Proxies)"></a><a class="anchor" name="option redis-check (Alphabetically sorted keywords reference)"></a><div class="keyword"><b><a class="anchor" name="option redis-check"></a><a href="#4.2-option%20redis-check">option redis-check</a></b></div><pre class="text">Use redis health checks for server testing
1232612327
</pre><div><p> May be used in sections :</p><table class="table table-bordered" border="0" cellspacing="0" cellpadding="0">
1232712328
<thead><tr><th>defaults</th><th>frontend</th><th>listen</th><th>backend</th></tr></thead>
@@ -15601,14 +15602,47 @@ <h2 id="chapter-4.2" data-target="4.2"><small><a class="small" href="#4.2">4.2.<
1560115602
There is also another difference between the two timeouts : when a connection
1560215603
expires during timeout http-keep-alive, no error is returned, the connection
1560315604
just closes. If the connection expires in &quot;<span class="dropdown"><a class="dropdown-toggle" data-toggle="dropdown" href="#">http-request<span class="caret"></span></a><ul class="dropdown-menu"><li class="dropdown-header">This keyword is available in sections :</li><li><a href="#http-request%20%28Alphabetically%20sorted%20keywords%20reference%29">Alphabetically sorted keywords reference</a></li><li><a href="#http-request%20%28Proxy%20section%29">Proxy section</a></li></ul></span>&quot; while waiting for a
15604-
connection to complete, a HTTP 408 error is returned.
15605+
request to complete, an HTTP 408 error is returned to the client before
15606+
closing the connection, unless &quot;<a href="#option%20http-ignore-probes">option http-ignore-probes</a>&quot; is set in the
15607+
frontend.
1560515608

15606-
In general it is optimal to set this value to a few tens to hundreds of
15607-
milliseconds, to allow users to fetch all objects of a page at once but
15608-
without waiting for further clicks. Also, if set to a very small value (e.g.
15609-
1 millisecond) it will probably only accept pipelined requests but not the
15610-
non-pipelined ones. It may be a nice trade-off for very large sites running
15611-
with tens to hundreds of thousands of clients.
15609+
In general &quot;<a href="#timeout%20http-keep-alive">timeout http-keep-alive</a>&quot; is best used to prevent clients from
15610+
holding open an otherwise idle connection too long on sites seeing large
15611+
amounts of short connections. This can be accomplished by setting the value
15612+
to a few tens to hundreds of milliseconds in HTTP/1.1. This will close the
15613+
connection after the client requests a page without having to hold that
15614+
connection open to wait for more activity from the client. In that scenario,
15615+
a new activity from the browser would result in a new handshake at the TCP
15616+
and/or SSL layer. A common use case for this is HTTP sites serving only a
15617+
redirect to the HTTPS page. Such connections are better not kept idle too
15618+
long because they won't be reused, unless maybe to fetch a favicon.
15619+
15620+
Another use case is the exact opposite: some sites want to permit clients
15621+
to reuse idle connections for a long time (e.g. 30 seconds to one minute) but
15622+
do not want to wait that long for the first request, in order to avoid a very
15623+
inexpensive attack vector. In this case, the http-keep-alive timeout would be
15624+
set to a large value, but http-request would remain low (a few seconds).
15625+
15626+
When set to a very small value additional requests that are not pipelined
15627+
are likely going to be handled over another connection unless the requests
15628+
are truly pipelined, which is very rare with HTTP/1.1 (requests being sent
15629+
back-to-back without waiting for a response). Most HTTP/1.1 implementations
15630+
send a request, wait for a response and then send another request. A small
15631+
value here for HTTP/1.1 may be advantageous to use less memory and sockets
15632+
for sites with hundreds of thousands of clients, at the expense of an
15633+
increase in handshake computation costs.
15634+
15635+
Special care should be taken with small values when dealing with HTTP/2. The
15636+
nature of HTTP/2 is to multiplex requests over a connection in order to save
15637+
on the overhead of reconnecting the TCP and/or SSL layers. The protocol also
15638+
uses control frames which cope poorly with early TCP connection closures, on
15639+
very rare occasions this may result in truncated responses when data are
15640+
destroyed in flight after leaving HAProxy (which then cannot even log an
15641+
error). A suggested low starting value for HTTP/2 connections would be around
15642+
4 seconds. This would prevent most modern keep-alive implementations from
15643+
needlessly holding open stale connections, and at the same time would allow
15644+
subsequent requests to reuse the connection. However, this should be adjusted
15645+
as needed and is simply a starting point.
1561215646

1561315647
If this parameter is not set, the &quot;<span class="dropdown"><a class="dropdown-toggle" data-toggle="dropdown" href="#">http-request<span class="caret"></span></a><ul class="dropdown-menu"><li class="dropdown-header">This keyword is available in sections :</li><li><a href="#http-request%20%28Alphabetically%20sorted%20keywords%20reference%29">Alphabetically sorted keywords reference</a></li><li><a href="#http-request%20%28Proxy%20section%29">Proxy section</a></li></ul></span>&quot; timeout applies, and if both
1561415648
are not set, &quot;<a href="#timeout%20client">timeout client</a>&quot; still applies at the lower level. It should be
@@ -22041,9 +22075,10 @@ <h2 id="chapter-8.4" data-target="8.4"><small><a class="small" href="#8.4">8.4.<
2204122075
instance during a POST request, the time already runs, and this can distort
2204222076
apparent response time. For this reason, it's generally wise not to trust
2204322077
too much this field for POST requests initiated from clients behind an
22044-
untrusted network. A value of &quot;-1&quot; here means that the last the response
22045-
header (empty line) was never seen, most likely because the server timeout
22046-
stroke before the server managed to process the request.
22078+
untrusted network. A value of &quot;-1&quot; here means that the last response header
22079+
(empty line) was never seen, most likely because the server timeout stroke
22080+
before the server managed to process the request or because the server
22081+
returned an invalid response.
2204722082

2204822083
- Td: this is the total transfer time of the response payload till the last
2204922084
byte sent to the client. In HTTP it starts after the last response header
@@ -23108,7 +23143,7 @@ <h2 id="chapter-10.3" data-target="10.3"><small><a class="small" href="#10.3">10
2310823143
<br>
2310923144
<hr>
2311023145
<div class="text-right">
23111-
HAProxy 2.2.33-40 &ndash; Configuration Manual<br>
23146+
HAProxy 2.2.33-77 &ndash; Configuration Manual<br>
2311223147
<small>, 2024/04/05</small>
2311323148
</div>
2311423149
</div>

docs/2.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 2.2.33-40 - Starter Guide</title>
5+
<title>HAProxy version 2.2.33-77 - 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" />
@@ -473,7 +473,7 @@
473473
You can use <strong>left</strong> and <strong>right</strong> arrow keys to navigate between chapters.<br>
474474
</p>
475475
<p class="text-right">
476-
<small>Converted with <a href="https://github.com/cbonte/haproxy-dconv">haproxy-dconv</a> v<b>0.4.2-15</b> on <b>2024/07/03</b></small>
476+
<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>
477477
</p>
478478
</div>
479479
<!-- /.sidebar -->
@@ -484,7 +484,7 @@
484484
<div class="text-center">
485485
<h1><a href="http://www.haproxy.org/" title="HAProxy"><img src="../img/HAProxyCommunityEdition_60px.png?0.4.2-15" /></a></h1>
486486
<h2>Starter Guide</h2>
487-
<p><strong>version 2.2.33-40</strong></p>
487+
<p><strong>version 2.2.33-77</strong></p>
488488
<p>
489489
<br>
490490

@@ -2480,7 +2480,7 @@ <h2 id="chapter-4.4" data-target="4.4"><small><a class="small" href="#4.4">4.4.<
24802480
<br>
24812481
<hr>
24822482
<div class="text-right">
2483-
HAProxy 2.2.33-40 &ndash; Starter Guide<br>
2483+
HAProxy 2.2.33-77 &ndash; Starter Guide<br>
24842484
<small>, </small>
24852485
</div>
24862486
</div>

docs/2.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 2.2.33-40 - Management Guide</title>
5+
<title>HAProxy version 2.2.33-77 - 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" />
@@ -511,7 +511,7 @@
511511
You can use <strong>left</strong> and <strong>right</strong> arrow keys to navigate between chapters.<br>
512512
</p>
513513
<p class="text-right">
514-
<small>Converted with <a href="https://github.com/cbonte/haproxy-dconv">haproxy-dconv</a> v<b>0.4.2-15</b> on <b>2024/07/03</b></small>
514+
<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>
515515
</p>
516516
</div>
517517
<!-- /.sidebar -->
@@ -522,7 +522,7 @@
522522
<div class="text-center">
523523
<h1><a href="http://www.haproxy.org/" title="HAProxy"><img src="../img/HAProxyCommunityEdition_60px.png?0.4.2-15" /></a></h1>
524524
<h2>Management Guide</h2>
525-
<p><strong>version 2.2.33-40</strong></p>
525+
<p><strong>version 2.2.33-77</strong></p>
526526
<p>
527527
<br>
528528

@@ -3899,7 +3899,7 @@ <h2 id="chapter-9.4" data-target="9.4"><small><a class="small" href="#9.4">9.4.<
38993899
<br>
39003900
<hr>
39013901
<div class="text-right">
3902-
HAProxy 2.2.33-40 &ndash; Management Guide<br>
3902+
HAProxy 2.2.33-77 &ndash; Management Guide<br>
39033903
<small>, </small>
39043904
</div>
39053905
</div>

0 commit comments

Comments
 (0)