diff --git a/net/haproxy/pkg-descr b/net/haproxy/pkg-descr
index 7d0cde83a..dea92ff85 100644
--- a/net/haproxy/pkg-descr
+++ b/net/haproxy/pkg-descr
@@ -13,6 +13,7 @@ Added:
Fixed:
* fix unix sockets in chrooted environment (#3093)
+* fix peers by automatically configuring the local peer (#3114)
3.11
diff --git a/net/haproxy/src/opnsense/mvc/app/controllers/OPNsense/HAProxy/forms/generalPeers.xml b/net/haproxy/src/opnsense/mvc/app/controllers/OPNsense/HAProxy/forms/generalPeers.xml
index f1091f4f3..7dba7f9f8 100644
--- a/net/haproxy/src/opnsense/mvc/app/controllers/OPNsense/HAProxy/forms/generalPeers.xml
+++ b/net/haproxy/src/opnsense/mvc/app/controllers/OPNsense/HAProxy/forms/generalPeers.xml
@@ -10,14 +10,14 @@
-
+
header
haproxy.general.peers.name1
text
-
+ system hostname, then this peer is automatically configured as local peer.]]>
haproxy.general.peers.listen1
@@ -32,14 +32,14 @@
-
+
header
haproxy.general.peers.name2
text
-
+ system hostname, then this peer is automatically configured as local peer.]]>
haproxy.general.peers.listen2
diff --git a/net/haproxy/src/opnsense/service/templates/OPNsense/HAProxy/haproxy.conf b/net/haproxy/src/opnsense/service/templates/OPNsense/HAProxy/haproxy.conf
index 79fde03a0..c6f0ff8dd 100644
--- a/net/haproxy/src/opnsense/service/templates/OPNsense/HAProxy/haproxy.conf
+++ b/net/haproxy/src/opnsense/service/templates/OPNsense/HAProxy/haproxy.conf
@@ -1041,6 +1041,10 @@ global
{% endif %}
{% endif %}
{% endif %}
+{# # specify local peer #}
+{% if peers_enabled is defined %}
+ localpeer {{ system.hostname|lower }}.{{ system.domain|lower }}
+{% endif %}
{# # pass-through options #}
{% if OPNsense.HAProxy.general.tuning.customOptions|default("") != "" %}
# WARNING: pass through options below this line
@@ -1892,7 +1896,7 @@ backend {{backend.name}}
{# PEERS #}
{# ############################### #}
-{%- if helpers.exists('OPNsense.HAProxy.general.peers') and OPNsense.HAProxy.general.peers.enabled|default("") == "1" %}
+{%- if peers_enabled is defined %}
{# # ensure that no value is missing #}
{% if OPNsense.HAProxy.general.peers.name1|default("") != '' and
OPNsense.HAProxy.general.peers.listen1|default("") != '' and
@@ -1901,8 +1905,10 @@ backend {{backend.name}}
OPNsense.HAProxy.general.peers.listen2|default("") != '' and
OPNsense.HAProxy.general.peers.port2|default("") != '' %}
peers {{peers_name}}
- peer {{OPNsense.HAProxy.general.peers.name1}} {{OPNsense.HAProxy.general.peers.listen1}}:{{OPNsense.HAProxy.general.peers.port1}}
- peer {{OPNsense.HAProxy.general.peers.name2}} {{OPNsense.HAProxy.general.peers.listen2}}:{{OPNsense.HAProxy.general.peers.port2}}
+ peer {{OPNsense.HAProxy.general.peers.name1|lower}} {{OPNsense.HAProxy.general.peers.listen1}}:{{OPNsense.HAProxy.general.peers.port1}}
+ peer {{OPNsense.HAProxy.general.peers.name2|lower}} {{OPNsense.HAProxy.general.peers.listen2}}:{{OPNsense.HAProxy.general.peers.port2}}
+{% else %}
+# ERROR: peers configuration is incomplete
{% endif %}
{%- endif -%}