diff --git a/net/haproxy/src/opnsense/mvc/app/controllers/OPNsense/HAProxy/forms/dialogAction.xml b/net/haproxy/src/opnsense/mvc/app/controllers/OPNsense/HAProxy/forms/dialogAction.xml
index 90addff7a..55d8645ca 100644
--- a/net/haproxy/src/opnsense/mvc/app/controllers/OPNsense/HAProxy/forms/dialogAction.xml
+++ b/net/haproxy/src/opnsense/mvc/app/controllers/OPNsense/HAProxy/forms/dialogAction.xml
@@ -193,6 +193,17 @@
text
+
+
+ header
+
+
+
+ action.http_request_set_path
+
+ text
+
+
header
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 4b238b370..f48700e17 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
@@ -1542,6 +1542,7 @@
http-request header delete
http-request header replace
http-request header replace value
+ http-request set-path
http-response allow
http-response deny
http-response lua script
@@ -1641,6 +1642,10 @@
/^.{1,4096}$/u
N
+
+ /^.{1,4096}$/u
+ N
+
/^.{1,4096}$/u
N
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 45e29c45b..da72c7a5a 100644
--- a/net/haproxy/src/opnsense/service/templates/OPNsense/HAProxy/haproxy.conf
+++ b/net/haproxy/src/opnsense/service/templates/OPNsense/HAProxy/haproxy.conf
@@ -374,6 +374,13 @@
{% set action_enabled = '0' %}
# ERROR: missing parameters
{% endif %}
+{% elif action_data.type == 'http-request_set-path' %}
+{% if action_data.http_request_set_path|default("") != "" %}
+{% do action_options.append('http-request set-path ' ~ action_data.http_request_set_path) %}
+{% else %}
+{% set action_enabled = '0' %}
+ # ERROR: missing parameters
+{% endif %}
{% elif action_data.type == 'http-response_allow' %}
{% do action_options.append('http-response allow') %}
{% elif action_data.type == 'http-response_deny' %}