diff --git a/net/haproxy/Makefile b/net/haproxy/Makefile
index 4c4fde354..b8f116930 100644
--- a/net/haproxy/Makefile
+++ b/net/haproxy/Makefile
@@ -1,7 +1,7 @@
PLUGIN_NAME= haproxy
-PLUGIN_VERSION= 2.4
+PLUGIN_VERSION= 2.5
PLUGIN_COMMENT= Reliable, high performance TCP/HTTP load balancer
-PLUGIN_DEPENDS= haproxy
+PLUGIN_DEPENDS= haproxy-devel
PLUGIN_MAINTAINER= opnsense@moov.de
.include "../../Mk/plugins.mk"
diff --git a/net/haproxy/src/opnsense/mvc/app/controllers/OPNsense/HAProxy/forms/dialogBackend.xml b/net/haproxy/src/opnsense/mvc/app/controllers/OPNsense/HAProxy/forms/dialogBackend.xml
index 53320c994..5c6111295 100644
--- a/net/haproxy/src/opnsense/mvc/app/controllers/OPNsense/HAProxy/forms/dialogBackend.xml
+++ b/net/haproxy/src/opnsense/mvc/app/controllers/OPNsense/HAProxy/forms/dialogBackend.xml
@@ -31,6 +31,13 @@
HAProxy documentation for a full description.]]>
Choose a load balancing algorithm.
+
+ backend.proxyProtocol
+
+ dropdown
+ HAProxy documentation for a full description.]]>
+ true
+
backend.linkedServers
diff --git a/net/haproxy/src/opnsense/mvc/app/models/OPNsense/HAProxy/HAProxy.xml b/net/haproxy/src/opnsense/mvc/app/models/OPNsense/HAProxy/HAProxy.xml
index 50435b9c8..9a4a0c0d4 100644
--- a/net/haproxy/src/opnsense/mvc/app/models/OPNsense/HAProxy/HAProxy.xml
+++ b/net/haproxy/src/opnsense/mvc/app/models/OPNsense/HAProxy/HAProxy.xml
@@ -1,6 +1,6 @@
//OPNsense/HAProxy
- 2.1.0
+ 2.2.0
the HAProxy load balancer
@@ -620,6 +620,13 @@
URI Hash (only HTTP mode)
+
+ N
+
+ Version 1
+ Version 2
+
+
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 a4b193405..05331a290 100644
--- a/net/haproxy/src/opnsense/service/templates/OPNsense/HAProxy/haproxy.conf
+++ b/net/haproxy/src/opnsense/service/templates/OPNsense/HAProxy/haproxy.conf
@@ -1053,6 +1053,14 @@ backend {{backend.name}}
{% elif server_data.source|default("") != "" %}
{% do server_options.append('source ' ~ server_data.source) %}
{% endif %}
+{# # PROXY protocol #}
+{% if backend.proxyProtocol|default("") == "v1" %}
+{% do server_options.append('send-proxy') %}
+{% do server_options.append('check-send-proxy') %}
+{% elif backend.proxyProtocol|default("") == "v2" %}
+{% do server_options.append('send-proxy-v2') %}
+{% do server_options.append('check-send-proxy') %}
+{% endif %}
{# # server advanced options #}
{% if server_data.advanced|default("") != "" %}
{% do server_options.append(server_data.advanced) %}