diff --git a/net/haproxy/src/opnsense/mvc/app/controllers/OPNsense/HAProxy/forms/dialogFrontend.xml b/net/haproxy/src/opnsense/mvc/app/controllers/OPNsense/HAProxy/forms/dialogFrontend.xml
index 3c069d9d9..6fc2948a1 100644
--- a/net/haproxy/src/opnsense/mvc/app/controllers/OPNsense/HAProxy/forms/dialogFrontend.xml
+++ b/net/haproxy/src/opnsense/mvc/app/controllers/OPNsense/HAProxy/forms/dialogFrontend.xml
@@ -145,6 +145,20 @@
true
+
+ frontend.tuning_timeoutHttpReq
+
+ text
+
+ true
+
+
+ frontend.tuning_timeoutHttpKeepAlive
+
+ text
+
+ true
+ 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 5952c48e6..c7717b67d 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
@@ -381,6 +381,16 @@
Should be a number between 1 and 8 characters, optionally followed by either "d", "h", "m", "s", "ms" or "us".N
+
+ /^([0-9]{1,8}(?:us|ms|s|m|h|d)?)/u
+ Should be a number between 1 and 8 characters, optionally followed by either "d", "h", "m", "s", "ms" or "us".
+ N
+
+
+ /^([0-9]{1,8}(?:us|ms|s|m|h|d)?)/u
+ Should be a number between 1 and 8 characters, optionally followed by either "d", "h", "m", "s", "ms" or "us".
+ N
+ 0Y
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 90c7c9883..ccaefda24 100644
--- a/net/haproxy/src/opnsense/service/templates/OPNsense/HAProxy/haproxy.conf
+++ b/net/haproxy/src/opnsense/service/templates/OPNsense/HAProxy/haproxy.conf
@@ -651,6 +651,12 @@ frontend {{frontend.name}}
timeout client {{frontend.tuning_timeoutClient}}
{% elif OPNsense.HAProxy.general.defaults.timeoutClient is defined %}
timeout client {{OPNsense.HAProxy.general.defaults.timeoutClient}}
+{% endif %}
+{% if frontend.tuning_timeoutHttpReq|default("") != "" and frontend.mode == 'http' %}
+ timeout http-request {{frontend.tuning_timeoutHttpReq}}
+{% endif %}
+{% if frontend.tuning_timeoutHttpKeepAlive|default("") != "" and frontend.mode == 'http' %}
+ timeout http-keep-alive {{frontend.tuning_timeoutHttpKeepAlive}}
{% endif %}
# logging options
{% if frontend.logging_dontLogNull=='1' %}