Skip to content

Commit 8fd4c2e

Browse files
author
HAProxy Community
committed
Update docs for dev
1 parent e8c560e commit 8fd4c2e

3 files changed

Lines changed: 109 additions & 48 deletions

File tree

docs/dev/configuration.html

Lines changed: 68 additions & 10 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-dev11-40 - Configuration Manual</title>
5+
<title>HAProxy version 3.4-dev12 - 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" />
@@ -3321,6 +3321,10 @@
33213321

33223322
<a class="list-group-item" href="#reuse-key">reuse-key</a>
33233323

3324+
<a class="list-group-item" href="#reverse">reverse</a>
3325+
3326+
<a class="list-group-item" href="#reverse_dom">reverse_dom</a>
3327+
33243328
<a class="list-group-item" href="#rfc7239_field">rfc7239_field</a>
33253329

33263330
<a class="list-group-item" href="#rfc7239_is_valid">rfc7239_is_valid</a>
@@ -4922,7 +4926,7 @@
49224926
You can use <strong>left</strong> and <strong>right</strong> arrow keys to navigate between chapters.<br>
49234927
</p>
49244928
<p class="text-right">
4925-
<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/10</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/13</b></small>
49264930
</p>
49274931
</div>
49284932
<!-- /.sidebar -->
@@ -4933,9 +4937,9 @@
49334937
<div class="text-center">
49344938
<h1><a href="http://www.haproxy.org/" title="HAProxy"><img src="../img/HAProxyCommunityEdition_60px.png?0.4.2-15" /></a></h1>
49354939
<h2>Configuration Manual</h2>
4936-
<p><strong>version 3.4-dev11-40</strong></p>
4940+
<p><strong>version 3.4-dev12</strong></p>
49374941
<p>
4938-
2026/05/08<br>
4942+
2026/05/13<br>
49394943

49404944
</p>
49414945
</div>
@@ -25371,16 +25375,18 @@ <h3 id="chapter-7.3.1" data-target="7.3.1"><small><a class="small" href="#7.3.1"
2537125375
<tr><td ><a href="#7-port_only">port_only</a></td><td >string</td><td >integer</td></tr>
2537225376
<tr><td ><a href="#7-protobuf">protobuf(field_number[,field_type])</a></td><td >binary</td><td >binary</td></tr>
2537325377
<tr><td ><a href="#7-regsub">regsub(regex,subst[,flags])</a></td><td >string</td><td >string</td></tr>
25378+
<tr><td ><a href="#7-reverse">reverse</a></td><td >string</td><td >string</td></tr>
25379+
<tr><td ><a href="#7-reverse_dom">reverse_dom</a></td><td >string</td><td >string</td></tr>
2537425380
<tr><td ><a href="#7-rfc7239_field">rfc7239_field(field)</a></td><td >string</td><td >string</td></tr>
2537525381
<tr><td ><a href="#7-rfc7239_is_valid">rfc7239_is_valid</a></td><td >string</td><td >boolean</td></tr>
2537625382
<tr><td ><a href="#7-rfc7239_n2nn">rfc7239_n2nn</a></td><td >string</td><td >address / str</td></tr>
2537725383
<tr><td ><a href="#7-rfc7239_n2np">rfc7239_n2np</a></td><td >string</td><td >integer / str</td></tr>
2537825384
<tr><td ><a href="#7-rfc7239_nn">rfc7239_nn</a></td><td >address/str</td><td >string</td></tr>
2537925385
<tr><td ><a href="#7-rfc7239_np">rfc7239_np</a></td><td >integer/str</td><td >string</td></tr>
2538025386
<tr><td ><a href="#7-rtrim">rtrim(chars)</a></td><td >string</td><td >string</td></tr>
25387+
<thead><tr><th>keyword</th><th>input type</th><th>output type</th></tr></thead>
2538125388
<tr><td ><a href="#7-sdbm">sdbm([avalanche])</a></td><td >binary</td><td >integer</td></tr>
2538225389
<tr><td ><a href="#7-secure_memcmp">secure_memcmp(var)</a></td><td >string</td><td >boolean</td></tr>
25383-
<thead><tr><th>keyword</th><th>input type</th><th>output type</th></tr></thead>
2538425390
<tr><td ><a href="#7-set-var">set-var(var[,cond...])</a></td><td >any</td><td >same</td></tr>
2538525391
<tr><td ><a href="#7-sha1">sha1</a></td><td >binary</td><td >binary</td></tr>
2538625392
<tr><td ><a href="#7-sha2">sha2([bits])</a></td><td >binary</td><td >binary</td></tr>
@@ -25399,9 +25405,9 @@ <h3 id="chapter-7.3.1" data-target="7.3.1"><small><a class="small" href="#7.3.1"
2539925405
<tr><td ><a href="#7-table_expire">table_expire([table[,default_value]])</a></td><td >any</td><td >integer</td></tr>
2540025406
<tr><td ><a href="#7-table_glitch_cnt">table_glitch_cnt([table])</a></td><td >any</td><td >integer</td></tr>
2540125407
<tr><td ><a href="#7-table_glitch_rate">table_glitch_rate([table])</a></td><td >any</td><td >integer</td></tr>
25408+
<thead><tr><th>keyword</th><th>input type</th><th>output type</th></tr></thead>
2540225409
<tr><td ><a href="#7-table_gpc">table_gpc(idx[,table])</a></td><td >any</td><td >integer</td></tr>
2540325410
<tr><td ><a href="#7-table_gpc0">table_gpc0([table])</a></td><td >any</td><td >integer</td></tr>
25404-
<thead><tr><th>keyword</th><th>input type</th><th>output type</th></tr></thead>
2540525411
<tr><td ><a href="#7-table_gpc0_rate">table_gpc0_rate([table])</a></td><td >any</td><td >integer</td></tr>
2540625412
<tr><td ><a href="#7-table_gpc1">table_gpc1([table])</a></td><td >any</td><td >integer</td></tr>
2540725413
<tr><td ><a href="#7-table_gpc1_rate">table_gpc1_rate([table])</a></td><td >any</td><td >integer</td></tr>
@@ -25420,9 +25426,9 @@ <h3 id="chapter-7.3.1" data-target="7.3.1"><small><a class="small" href="#7.3.1"
2542025426
<tr><td ><a href="#7-table_inc_gpc1">table_inc_gpc1([table])</a></td><td >any</td><td >integer</td></tr>
2542125427
<tr><td ><a href="#7-table_kbytes_in">table_kbytes_in([table])</a></td><td >any</td><td >integer</td></tr>
2542225428
<tr><td ><a href="#7-table_kbytes_out">table_kbytes_out([table])</a></td><td >any</td><td >integer</td></tr>
25429+
<thead><tr><th>keyword</th><th>input type</th><th>output type</th></tr></thead>
2542325430
<tr><td ><a href="#7-table_server_id">table_server_id([table])</a></td><td >any</td><td >integer</td></tr>
2542425431
<tr><td ><a href="#7-table_sess_cnt">table_sess_cnt([table])</a></td><td >any</td><td >integer</td></tr>
25425-
<thead><tr><th>keyword</th><th>input type</th><th>output type</th></tr></thead>
2542625432
<tr><td ><a href="#7-table_sess_rate">table_sess_rate([table])</a></td><td >any</td><td >integer</td></tr>
2542725433
<tr><td ><a href="#7-table_trackers">table_trackers([table])</a></td><td >any</td><td >integer</td></tr>
2542825434
<tr><td ><a href="#7-tcp.dst">tcp.dst</a></td><td >binary</td><td >integer</td></tr>
@@ -25441,9 +25447,9 @@ <h3 id="chapter-7.3.1" data-target="7.3.1"><small><a class="small" href="#7.3.1"
2544125447
<tr><td ><a href="#7-ub64enc">ub64enc</a></td><td >string</td><td >string</td></tr>
2544225448
<tr><td ><a href="#7-ungrpc">ungrpc(field_number[,field_type])</a></td><td >binary</td><td >binary / int</td></tr>
2544325449
<tr><td ><a href="#7-unset-var">unset-var(var)</a></td><td >any</td><td >same</td></tr>
25450+
<thead><tr><th>keyword</th><th>input type</th><th>output type</th></tr></thead>
2544425451
<tr><td ><a href="#7-upper">upper</a></td><td >string</td><td >string</td></tr>
2544525452
<tr><td ><a href="#7-url_dec">url_dec([in_form])</a></td><td >string</td><td >string</td></tr>
25446-
<thead><tr><th>keyword</th><th>input type</th><th>output type</th></tr></thead>
2544725453
<tr><td ><a href="#7-url_enc">url_enc([enc_type])</a></td><td >string</td><td >string</td></tr>
2544825454
<tr><td ><a href="#7-us_ltime">us_ltime(format[,offset])</a></td><td >integer</td><td >string</td></tr>
2544925455
<tr><td ><a href="#7-us_utime">us_utime(format[,offset])</a></td><td >integer</td><td >string</td></tr>
@@ -26726,6 +26732,58 @@ <h3 id="chapter-7.3.1" data-target="7.3.1"><small><a class="small" href="#7.3.1"
2672626732
http-request redirect location %[url,'regsub(&quot;(foo|bar)([0-9]+)?&quot;,&quot;\2\1&quot;,i)']
2672726733
http-request redirect location %[url,regsub(\&quot;(foo|bar)([0-9]+)?\&quot;,\&quot;\2\1\&quot;,i)]
2672826734
</code></pre>
26735+
</div><a class="anchor" name="reverse"></a><a class="anchor" name="7-reverse"></a><a class="anchor" name="7.3.1-reverse"></a><a class="anchor" name="reverse (Using ACLs and fetching samples)"></a><a class="anchor" name="reverse (Converters)"></a><div class="keyword"><b><a class="anchor" name="reverse"></a><a href="#7.3.1-reverse">reverse</a></b></div><pre class="text">Reverses the input string byte by byte.
26736+
26737+
This converter is encoding-agnostic and reverses bytes, not characters; it is
26738+
not suitable for reversing human text encoded as UTF-8.
26739+
26740+
This can turn suffix lookups on the original string into prefix lookups on
26741+
the reversed string, allowing the use of indexed prefix matchers such as
26742+
&quot;map_beg&quot; on large maps.
26743+
</pre><div class="separator">
26744+
<span class="label label-success">Examples:</span>
26745+
<pre class="prettyprint">
26746+
<code>&quot;example.com&quot; -&gt; &quot;moc.elpmaxe&quot;
26747+
&quot;ab cd&quot; -&gt; &quot;dc ba&quot;
26748+
26749+
<span class="comment"># Given a map file where each key contains a reversed hostname:</span>
26750+
<span class="comment"># moc.elpmaxe.ppa app1</span>
26751+
<span class="comment"># moc.elpmaxe.bd dbcluster</span>
26752+
<span class="comment"># Pick a backend based on the domain suffix of the Host header:</span>
26753+
use_backend %[req.hdr(host),lower,reverse,map_beg(/etc/haproxy/hosts.map,default)]
26754+
</code></pre>
26755+
</div><a class="anchor" name="reverse_dom"></a><a class="anchor" name="7-reverse_dom"></a><a class="anchor" name="7.3.1-reverse_dom"></a><a class="anchor" name="reverse_dom (Using ACLs and fetching samples)"></a><a class="anchor" name="reverse_dom (Converters)"></a><div class="keyword"><b><a class="anchor" name="reverse_dom"></a><a href="#7.3.1-reverse_dom">reverse_dom</a></b></div><pre class="text">Converts a string containing an FQDN-like hostname into its reversed-label
26756+
form. A single trailing dot on the input is ignored. Empty labels cause the
26757+
converter to fail.
26758+
26759+
This converter does not lowercase its input and does not strip any port.
26760+
It is meant to be combined with existing converters such as &quot;<a href="#lower">lower</a>&quot; or
26761+
&quot;<a href="#host_only">host_only</a>&quot; when needed.
26762+
26763+
The trailing-dot policy is intentionally left to the caller. This allows
26764+
callers to decide whether they want to match the apex too or only
26765+
subdomains.
26766+
26767+
The reversed-label form is useful for large domain maps because it turns
26768+
domain suffix lookups into prefix lookups, allowing the use of indexed prefix
26769+
matchers such as &quot;map_beg&quot;.
26770+
</pre><div class="separator">
26771+
<span class="label label-success">Examples:</span>
26772+
<pre class="prettyprint">
26773+
<code>&quot;example.com&quot; -&gt; &quot;com.example&quot;
26774+
&quot;mail.example.com&quot; -&gt; &quot;com.example.mail&quot;
26775+
&quot;example.com.&quot; -&gt; &quot;com.example&quot;
26776+
26777+
<span class="comment"># match only subdomains of example.net, not the apex</span>
26778+
acl example_net_sub req.hdr(Host),host_only,reverse_dom -m beg net.example.
26779+
26780+
<span class="comment"># match only the apex</span>
26781+
acl example_net_apex req.hdr(Host),host_only,reverse_dom -i net.example
26782+
26783+
<span class="comment"># exact-or-subdomain prefix lookup using an explicit dotted form</span>
26784+
http-request set-var(txn.rev_host) req.hdr(Host),host_only,reverse_dom,concat(.)
26785+
use_backend %[var(txn.rev_host),map_beg(/etc/haproxy/domains.map)]
26786+
</code></pre>
2672926787
</div><a class="anchor" name="rfc7239_field"></a><a class="anchor" name="7-rfc7239_field"></a><a class="anchor" name="7.3.1-rfc7239_field"></a><a class="anchor" name="rfc7239_field (Using ACLs and fetching samples)"></a><a class="anchor" name="rfc7239_field (Converters)"></a><div class="keyword"><b><a class="anchor" name="rfc7239_field"></a><a href="#7.3.1-rfc7239_field">rfc7239_field</a></b>(<span style="color: #080">&lt;field&gt;</span>)</div><pre class="text">Extracts a single field/parameter from RFC 7239 compliant header value input.
2673026788

2673126789
Supported fields are:
@@ -35553,8 +35611,8 @@ <h2 id="chapter-12.9" data-target="12.9"><small><a class="small" href="#12.9">12
3555335611
<br>
3555435612
<hr>
3555535613
<div class="text-right">
35556-
HAProxy 3.4-dev11-40 &ndash; Configuration Manual<br>
35557-
<small>, 2026/05/08</small>
35614+
HAProxy 3.4-dev12 &ndash; Configuration Manual<br>
35615+
<small>, 2026/05/13</small>
3555835616
</div>
3555935617
</div>
3556035618
<!-- /.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-dev11-40 - Starter Guide</title>
5+
<title>HAProxy version 3.4-dev12 - 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/10</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/13</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-dev11-40</strong></p>
498+
<p><strong>version 3.4-dev12</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-dev11-40 &ndash; Starter Guide<br>
2518+
HAProxy 3.4-dev12 &ndash; Starter Guide<br>
25192519
<small>, </small>
25202520
</div>
25212521
</div>

0 commit comments

Comments
 (0)